SuccessChanges

Summary

  1. [llvm-exegesis][X86] Ignore a few unmeasurable opcodes. (details)
  2. [RISCV] Use existing method for the LMUL1 type. NFCI. (details)
  3. [MLIR][affine] Certain Call Ops to prevent fusion (details)
  4. [Test] Two more interesting test cases & their codegen counterparts (details)
  5. [DAG] expandAddSubSat - break if-else chain. NFCI. (details)
  6. [mlir] Mark OpState::removeAttr() deprecated. (details)
  7. [X86] Remove unnecessary custom lowering of v16i1/v32i1 ADD/SUB (details)
  8. [DAG] Fold vXi1 multiplies -> and (details)
  9. [docs][JITLink] Few typo fixes in JITLink design/API doc (details)
  10. [Driver] Flush file in locked area (details)
  11. [X86] Remove unnecessary custom lowering of vXi1 SADDSAT/SSUBSAT/UADDSAT/USUBSAT (details)
  12. [Orc] Use extensible RTTI for the orc::ObjectLayer class hierarchy (details)
  13. [clang][cli] Fix build failure in CompilerInvocation (details)
  14. [clang][cli] Implement '-cuid=' marshalling (details)
  15. Revert "[NARY-REASSOCIATE] Support reassociation of min/max" (details)
Commit b16cbd8890a08ea265b8d3f3499a29b58bfa3b4a by courbet
[llvm-exegesis][X86] Ignore a few unmeasurable opcodes.

Differential Revision: https://reviews.llvm.org/D90744
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
Commit 37014db0134b6df3945a7d4b1a835f8daefecb79 by fraser
[RISCV] Use existing method for the LMUL1 type. NFCI.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D97467
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit ce0f10a1d19b559938870ba6172b517417bc2c76 by uday
[MLIR][affine] Certain Call Ops to prevent fusion

Fixes a bug in affine fusion pipeline where an incorrect fusion is performed
despite a Call Op that potentially modifies memrefs under consideration
exists between source and target.

Fixes part of https://bugs.llvm.org/show_bug.cgi?id=49220

Reviewed By: bondhugula, dcaballe

Differential Revision: https://reviews.llvm.org/D97252
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
Commit a754dc235834fd4e0c63a0a35933e001e17b3921 by mkazantsev
[Test] Two more interesting test cases & their codegen counterparts
The file was modifiedllvm/test/CodeGen/X86/overflowing-iv.ll
The file was addedllvm/test/CodeGen/X86/overflowing-iv-codegen.ll
Commit 73adc26ac0bea7b7fd01f1faa8ea2911d730b55d by llvm-dev
[DAG] expandAddSubSat - break if-else chain. NFCI.

Fix styleguide issue - each if() block always returns so we don't need to make them a if-else chain.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit dffc487b07d9a50f8c65eccb9241f72af3486c79 by csigg
[mlir] Mark OpState::removeAttr() deprecated.

Fix call sites.

The method will be removed 2 weeks later.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D97530
The file was modifiedmlir/test/lib/Transforms/TestConvVectorization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
Commit 40b8b4a466e3ea9ca438b776ce02c272a1b665da by llvm-dev
[X86] Remove unnecessary custom lowering of v16i1/v32i1 ADD/SUB

These were missed in D97478
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit aefe8f2f6c9e61b7bee92924b381321b4b5053ec by llvm-dev
[DAG] Fold vXi1 multiplies -> and

This allows us to remove X86 custom lowering of vXi1 MUL, which helps simplify a load of mask math.

Mentioned in D97478 post review.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
The file was modifiedllvm/test/CodeGen/X86/avx512bw-mask-op.ll
Commit 57f8f2375789ec007e46b7e38ded4c645ad61f51 by Stefan Gränitz
[docs][JITLink] Few typo fixes in JITLink design/API doc
The file was modifiedllvm/docs/JITLink.rst
Commit 04c3071c16d799a4406c1742f239e8381c00b2b8 by sepavloff
[Driver] Flush file in locked area

When writing report file by option -proc-stat-report some part of output
can be written to unlocked file because destructor of raw_fd_ostream
calls `flush()`. In high thread contention environment it can result in
file operation failure. With this change `flush` is called explicitly when
file is locked, so call of `flush()` in the destructor does not cause
write to file.
The file was modifiedclang/lib/Driver/Driver.cpp
Commit 7ac4c956afa2587cf19c96993a6cfa693a6de532 by llvm-dev
[X86] Remove unnecessary custom lowering of vXi1 SADDSAT/SSUBSAT/UADDSAT/USUBSAT

As discussed on D97478. The removal of the custom tag causes some changes in the add/sub-overflow expansion as it no longer expands to sat-arith codegen.
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec_ssubo.ll
Commit 406ef36b03f911014018ba7ee1d3259567b14575 by Stefan Gränitz
[Orc] Use extensible RTTI for the orc::ObjectLayer class hierarchy

So far we had no way to distinguish between JITLink and RuntimeDyld in lli. Instead, we used implicit knowledge that RuntimeDyld would be used for linking ELF. In order to get D97337 to work with lli though, we have to move on and allow JITLink for ELF. This patch uses extensible RTTI to allow external clients to add their own layers without touching the LLVM sources.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D97338
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Layer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp
Commit 8dc70bdcd0fe4efb65876dce0144d9c3386a2f07 by Jan Svoboda
[clang][cli] Fix build failure in CompilerInvocation

There is a report that https://reviews.llvm.org/D96280 causes a build failure with error: too few template arguments for class template 'SmallVector'. This patch attempts to fix that by explicitly specifying N for SmallVector<T, N>.
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit cb81135f94e58ce0a0e91d764841acee90eeb59f by Jan Svoboda
[clang][cli] Implement '-cuid=' marshalling

This patch adds marshalling to the `-cuid=` option introduced in D95007.

Reviewed By: Bigcheese

Differential Revision: https://reviews.llvm.org/D97461
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 13a5cac2ba919b4d02a296428b58919231e08569 by ybrevnov
Revert "[NARY-REASSOCIATE] Support reassociation of min/max"

This reverts commit 83d134c3c4222e8b8d3d90c099f749a3b3abc8e0.
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-smax.ll
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-smin.ll
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-umax.ll
The file was modifiedllvm/lib/Transforms/Scalar/NaryReassociate.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/NaryReassociate.h
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-umin.ll