Changes

Summary

  1. [llvm-c][test] Convert tests to opaque pointers (details)
  2. [llvm-c-test] Default to opaque pointers (details)
  3. [RISCV] Give CSImm12MulBy4 PatLeaf priority over CSImm12MulBy8. NFC (details)
  4. [mlir][scf] Add option to loop pipelining to not peel the epilogue (details)
  5. [MachineSSAUpdate] Add a test for redundant phi generation. (details)
  6. [mlir][VectorToGPU] Fix bug generating incorrect ldmatrix ops (details)
  7. [M68k] Instruction selection to choose neg x when mul x -1 (Fix issue 48588) (details)
  8. [libc] Automatically add -mfma flag for architectures supporting FMA. (details)
  9. [SSAUpdaterImpl] Do not generate phi node with all the same incoming values (details)
  10. [NFC][MemDep] Remove unnecessary Worklist.clear (details)
  11. [LLVM][Docs] Update for HowToSetUpLLVMStyleRTTI.rst, NFC. (details)
  12. [mlir][cf] Implement missing SwitchOp::build function (details)
  13. [clang][driver] Dynamically select gcc-toolset/devtoolset (details)
Commit 8d846849f838895a9b2a70fde2084a5a4e7fa03d by i
[llvm-c][test] Convert tests to opaque pointers

echo.ll is unchanged to test typed pointers.
The file was modifiedllvm/test/Bindings/llvm-c/atomics.ll
The file was modifiedllvm/test/Bindings/llvm-c/echo.ll
The file was modifiedllvm/test/Bindings/llvm-c/memops.ll
The file was modifiedllvm/test/Bindings/llvm-c/invoke.ll
The file was modifiedllvm/test/Bindings/llvm-c/freeze.ll
Commit e33af271eaed0bdaf6f95edd7c0841423fd0fc0e by i
[llvm-c-test] Default to opaque pointers
The file was modifiedllvm/test/Bindings/llvm-c/atomics.ll
The file was modifiedllvm/test/Bindings/llvm-c/echo.ll
The file was modifiedllvm/test/Bindings/llvm-c/invoke.ll
The file was modifiedllvm/tools/llvm-c-test/main.c
The file was modifiedllvm/test/Bindings/llvm-c/freeze.ll
The file was modifiedllvm/tools/llvm-c-test/echo.cpp
The file was modifiedllvm/test/Bindings/llvm-c/memops.ll
Commit 1d67adbfbf2743a9ee7a08be2ce441710c95e5e8 by craig.topper
[RISCV] Give CSImm12MulBy4 PatLeaf priority over CSImm12MulBy8. NFC

The immediate range check for CSImm12MulBy8 included some values
covered by CSImm12MulBy4. I assume CSImm12MulBy4 had priority due
to pattern order in the td file, but this makes the priority
explicit in the predicate.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Commit 205c08b54d70532440186fe9070293686d1d0d06 by thomasraoux
[mlir][scf] Add option to loop pipelining to not peel the epilogue

Add an option to predicate the epilogue within the kernel instead of
peeling the epilogue. This is a useful option to prevent generating
large amount of code for deep pipeline. This currently require a user
lamdba to implement operation predication.

Differential Revision: https://reviews.llvm.org/D126753
The file was modifiedmlir/include/mlir/Dialect/SCF/Transforms.h
The file was modifiedmlir/test/Dialect/SCF/loop-pipelining.mlir
The file was modifiedmlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
The file was modifiedmlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
Commit c4d955dd7f68b80119529165bbd878b09271c4d3 by serguei.katkov
[MachineSSAUpdate] Add a test for redundant phi generation.
The file was addedllvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
Commit 271a48e02917859cd09ee7f230adea7b6cc7a578 by thomasraoux
[mlir][VectorToGPU] Fix bug generating incorrect ldmatrix ops

ldmatrix transpose can only be used with types that are 16bits wide.

Differential Revision: https://reviews.llvm.org/D126846
The file was modifiedmlir/test/Conversion/VectorToGPU/vector-to-mma-ops-mma-sync.mlir
The file was modifiedmlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
Commit 78b16ccf2b5c4ba4ebd7f1e2a2fc1dcad0e1a343 by sheng
[M68k] Instruction selection to choose neg x when mul x -1 (Fix issue 48588)

This patch is trying to fix issue 48588(https://github.com/llvm/llvm-project/issues/48588)

I found the results of Instruction Selection between SelectionDAG and FastISEL for the `%mul = mul i32 %A, 4294967295`:
(seldag-isel) mul --> sub --> SUB32dp
(fast-isel)   mul --> sub --> NEG32d

My patch to fix this issue is by overriding a virtual function M68kDAGToDAGISel::IsProfitableToFold(). Return `false` when it was trying to match with SUB, then it will match with NEG.

Reviewed By: myhsu

Differential Revision: https://reviews.llvm.org/D116886
The file was modifiedllvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/M68k/Arith/imul-neg.ll
Commit 614567a7bf4a7a4c2570ad9a499b77155dfb54ce by lntue
[libc] Automatically add -mfma flag for architectures supporting FMA.

Detect if the architecture supports FMA instructions and if
the targets depend on fma.

Reviewed By: gchatelet

Differential Revision: https://reviews.llvm.org/D123615
The file was modifiedlibc/src/math/fma.cpp
The file was modifiedlibc/src/math/generic/expm1f.cpp
The file was modifiedlibc/src/__support/FPUtil/x86_64/PolyEval.h
The file was modifiedlibc/src/math/generic/logf.cpp
The file was modifiedlibc/src/__support/FPUtil/CMakeLists.txt
The file was modifiedlibc/src/math/fmaf.cpp
The file was modifiedlibc/cmake/modules/LLVMLibCObjectRules.cmake
The file was modifiedlibc/src/math/generic/log10f.cpp
The file was modifiedlibc/src/math/generic/expf.cpp
The file was modifiedlibc/test/src/math/CMakeLists.txt
The file was modifiedlibc/src/math/generic/exp2f.cpp
The file was modifiedlibc/cmake/modules/LLVMLibCFlagRules.cmake
The file was modifiedlibc/src/math/generic/CMakeLists.txt
The file was modifiedlibc/src/__support/FPUtil/PolyEval.h
The file was modifiedlibc/src/__support/architectures.h
The file was modifiedlibc/src/math/generic/log1pf.cpp
The file was modifiedlibc/src/math/CMakeLists.txt
The file was modifiedlibc/src/__support/FPUtil/x86_64/FMA.h
The file was modifiedlibc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
The file was modifiedlibc/src/math/generic/log2f.cpp
Commit 24e16e4af20858e0c276d3cf4137b7a57afd2d19 by serguei.katkov
[SSAUpdaterImpl] Do not generate phi node with all the same incoming values

If all available vals to basic block are the same - do not build new phi node and
just use this value.

Reviewed By: sameerds
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D126525
The file was modifiedllvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
The file was modifiedllvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
The file was modifiedllvm/test/Transforms/LICM/sink-debuginfo-preserve.ll
Commit 8555e59a7172a7597f5eeecdc620f293297e2294 by mkazantsev
[NFC][MemDep] Remove unnecessary Worklist.clear

This execution path leads to return 'false' where the Worklist
will be deallocated anyways. No need to clear it separately.
The file was modifiedllvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Commit 47231248f59b733b6351b71523c7067a9559228a by aman.lachapelle
[LLVM][Docs] Update for HowToSetUpLLVMStyleRTTI.rst, NFC.

This patch updates the document with some advanced use cases and examples on how to set up and use LLVM-style RTTI. It includes a few motivating examples to get readers comfortable with the concepts.

Reviewed By: lattner

Differential Revision: https://reviews.llvm.org/D126943
The file was modifiedllvm/docs/HowToSetUpLLVMStyleRTTI.rst
Commit b34fb277df672ca2de2721702b53bbb91f1d68dc by alexbatashev
[mlir][cf] Implement missing SwitchOp::build function

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D126594
The file was modifiedmlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
Commit 9f97720268911abae2ad9d90e270358db234a1c1 by tbaeder
[clang][driver] Dynamically select gcc-toolset/devtoolset

Instead of adding all devtoolset and gcc-toolset prefixes to the list of
prefixes, just scan the /opt/rh/ directory for the one with the highest
version number and only add that one.

Differential Revision: https://reviews.llvm.org/D125862
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/unittests/Driver/ToolChainTest.cpp

Summary

  1. [Fortran] Forward NO_STOP_MESSAGE to FCVS tests (details)
Commit f425709b9cd0d64a3fdda86e6da37ca709599c76 by diana.picus
[Fortran] Forward NO_STOP_MESSAGE to FCVS tests

By default, Flang outputs 'Fortran STOP' as part of the STOP statement,
and sometimes also warnings about signaling exceptions, which are
platform-dependent. This output will cause test failures, but it can be
suppressed by setting the environment variable NO_STOP_MESSAGE=1. This
patch makes sure that llvm-lit forwards the NO_STOP_MESSAGE variable to
the tests if it is set in the environment.

Differential Revision: https://reviews.llvm.org/D126360
The file was modifiedFortran/UnitTests/fcvs21_f95/lit.local.cfg (diff)