Changes

Summary

  1. [RISCV][test] Add new tests for mul optimization in the zba extension with SH*ADD (details)
  2. Optimize mul in the zba extension with SH*ADD (details)
  3. [MLIR][python] Disable SONAME on extensions. (details)
  4. [ARC] Add norm/normh instructions with disassembly tests (details)
  5. [Bazel] Derive targets from file presence as in CMake build (details)
  6. [Bazel] Unconditionally define STDC LIMIT/CONSTANT/FORMAT (details)
  7. [Bazel] Make td_library usable as data (details)
  8. [source map] fix relative path breakpoints (details)
  9. [AIX] Include symbol alias in extract_symbols.py (details)
  10. tsan: Fix the improper argument type in tsan_ilist_test.cpp (details)
  11. [OpenCL] Add support of __opencl_c_3d_image_writes feature macro (details)
  12. [nfc][trace] use formatv instead of the old Printf (details)
  13. [yaml2obj] Enable support for parsing 64-bit XCOFF. (details)
  14. [PowerPC] Fix issue where hint was providing the incorrect regsiter class. (details)
  15. [OpenCL] Add support of __opencl_c_pipes feature macro. (details)
Commit 811be79433638c3c7eeea65f5438044a5ba8de9a by ben.shi
[RISCV][test] Add new tests for mul optimization in the zba extension with SH*ADD

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D107064
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32zba.ll
Commit bb6fddb63ca73acb84c39c4d548024bf6398d86e by ben.shi
Optimize mul in the zba extension with SH*ADD

This patch does the following optimization of mul with a constant.

(mul x, 11) -> (SH1ADD (SH2ADD x, x), x)
(mul x, 19) -> (SH1ADD (SH3ADD x, x), x)
(mul x, 13) -> (SH2ADD (SH1ADD x, x), x)
(mul x, 21) -> (SH2ADD (SH2ADD x, x), x)
(mul x, 37) -> (SH2ADD (SH3ADD x, x), x)
(mul x, 25) -> (SH3ADD (SH1ADD x, x), x)
(mul x, 41) -> (SH3ADD (SH2ADD x, x), x)
(mul x, 73) -> (SH3ADD (SH3ADD x, x), x)
(mul x, 27) -> (SH1ADD (SH3ADD x, x), (SH3ADD x, x))
(mul x, 45) -> (SH2ADD (SH3ADD x, x), (SH3ADD x, x))
(mul x, 81) -> (SH3ADD (SH3ADD x, x), (SH3ADD x, x))

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D107065
The file was modifiedllvm/test/CodeGen/RISCV/rv32zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/xaluo.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
Commit 1de7a17ff3201e4aa29cf53c0745e8666fbf8286 by stellaraccident
[MLIR][python] Disable SONAME on extensions.

* Broken out of https://reviews.llvm.org/D106419
* Otherwise, same named modules will conflict with each other.

Differential Revision: https://reviews.llvm.org/D107113
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
Commit e622c99f305dc1fe9385742079a9ac6f81f86d2e by marksl
[ARC] Add norm/normh instructions with disassembly tests
Add disassembler support for the NORM and NORMH instructions. These instructions
only exist when the ARC processor is configured with the "norm" extension.

fferential Revision: https://reviews.llvm.org/D107118
The file was modifiedllvm/test/MC/Disassembler/ARC/misc.txt
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
Commit 6fa2d0fbf4637c3db7c4a57eb4c8522c216c82ea by gcmn
[Bazel] Derive targets from file presence as in CMake build

This makes the logic used to determine if targets have the given
features the same as is used in CMake. Incidentally, it enables these
features for the targets added in https://reviews.llvm.org/D106921
which were missing because this was previously a hardcoded list.

Reviewed By: chandlerc

Differential Revision: https://reviews.llvm.org/D107019
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit f3a8a7b91e54884a45895aa10e8433c2ce8e16ba by gcmn
[Bazel] Unconditionally define STDC LIMIT/CONSTANT/FORMAT

These are unconditionally included in the CMake build as well and
necessary for some odd platforms (even though the C++11 standard says
they shouldn't be).

Reviewed By: chandlerc

Differential Revision: https://reviews.llvm.org/D107123
The file was modifiedutils/bazel/llvm-project-overlay/llvm/config.bzl
Commit d983499543ee9f5b2fec3d437e0a15acacb9586d by gcmn
[Bazel] Make td_library usable as data

This patch makes it possible to list a td_library as a rule's data
attribute and get its source files and all its transitive dependencies
at runtime. This is useful for, e.g. shell tests running tblgen.

Note that this is a bit different from how a "normal" (e.g. C++) library
rule would work because those have actual library outputs and the
td_library rule just bundles some source files and includes. If someone
wanted to make use of the includes, they would have to access the TdInfo
provider, but this keeps simple things simple.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D106922
The file was modifiedutils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Commit 0a68443bd07c48dbaf554f6e3b26b3ab5ed1d383 by walter erquinigo
[source map] fix relative path breakpoints

https://reviews.llvm.org/D45592 added a nice feature to be able to specify a breakpoint by a relative path. E.g. passing foo.cpp or bar/foo.cpp or zaz/bar/foo.cpp is fine. However, https://reviews.llvm.org/D68671 by mistake disabled the test that ensured this functionality works. With time, someone made a small mistake and fully broke the functionality.

So, I'm making a very simple fix and the test passes.

Differential Revision: https://reviews.llvm.org/D107126
The file was modifiedlldb/source/Breakpoint/BreakpointResolverFileLine.cpp
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Commit a09e93bfb820a261e009422cae53134578274500 by Jinsong Ji
[AIX] Include symbol alias in extract_symbols.py

nm does not show size for aliased symbols,
we should still extract them if they are external.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D107112
The file was modifiedllvm/utils/extract_symbols.py
Commit ac2ffdef9cc8d152801ca87d81736fb1dec9cb88 by wei.huang
tsan: Fix the improper argument type in tsan_ilist_test.cpp

- clang-ppc64le-rhel bot LIT failure: https://lab.llvm.org/buildbot/#/builders/57/builds/8932
- culprit change: https://reviews.llvm.org/D107050
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_ilist_test.cpp
Commit f16a4fcbe510d17b3f361d446eaf223208ded2bd by anton.zabaznov
[OpenCL] Add support of __opencl_c_3d_image_writes feature macro

This feature requires support of __opencl_c_images, so diagnostics for that is provided as well.
Also, ensure that cl_khr_3d_image_writes feature macro is set to the same value.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D106260
The file was modifiedclang/test/SemaOpenCL/unsupported-image.cl
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Basic/Targets/AMDGPU.h
The file was modifiedclang/lib/Basic/OpenCLOptions.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
Commit 5839976976bc018b674f45f56f8a13707b870443 by walter erquinigo
[nfc][trace] use formatv instead of the old Printf

It was suggested in https://reviews.llvm.org/D105741 and it makes sense.
The file was modifiedlldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.cpp
Commit 8011fc1953831ff289da7e8854f684f5c8e6205c by esme.yi
[yaml2obj] Enable support for parsing 64-bit XCOFF.

Summary: Add support for yaml2obj to parse 64-bit XCOFF.

Reviewed By: shchenz

Differential Revision: https://reviews.llvm.org/D100375
The file was addedllvm/test/tools/yaml2obj/XCOFF/basic-doc64.yaml
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
The file was modifiedllvm/lib/ObjectYAML/XCOFFEmitter.cpp
Commit 754520a2bf55a0873753efb1d863a5ffd116c48b by stefanp
[PowerPC] Fix issue where hint was providing the incorrect regsiter class.

Regsier hints when copying to a UACC register do not always produce VSRp
registers. This patch makes sure that we do not produce hints in cases
where the subregsiter of the UACC is not a VSRp.

Reviewed By: nemanjai, #powerpc

Differential Revision: https://reviews.llvm.org/D107101
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was addedllvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll
Commit d1e4b25756730576996457ba7324e9bf210e3693 by anton.zabaznov
[OpenCL] Add support of __opencl_c_pipes feature macro.

'pipe' keyword is introduced in OpenCL C 2.0: so do checks for OpenCL C version while
parsing and then later on check for language options to construct actual pipe. This feature
requires support of __opencl_c_generic_address_space, so diagnostics for that is provided as well.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D106748
The file was modifiedclang/test/CodeGenOpenCL/pipe_builtin.cl
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
The file was modifiedclang/lib/Basic/OpenCLOptions.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CodeGenOpenCL/pipe_types_mangling.cl
The file was modifiedclang/test/CodeGenOpenCL/address-spaces-mangling.cl
The file was modifiedclang/test/SemaOpenCL/storageclass.cl
The file was modifiedclang/test/CodeGenOpenCL/pipe_types.cl
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl1.2.cl
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/CodeGenOpenCL/address-spaces.cl