SuccessChanges

Summary

  1. [DAG] expandAddSubSat - break if-else chain. NFCI. (details)
  2. [mlir] Mark OpState::removeAttr() deprecated. (details)
  3. [X86] Remove unnecessary custom lowering of v16i1/v32i1 ADD/SUB (details)
  4. [DAG] Fold vXi1 multiplies -> and (details)
  5. [docs][JITLink] Few typo fixes in JITLink design/API doc (details)
  6. [Driver] Flush file in locked area (details)
  7. [X86] Remove unnecessary custom lowering of vXi1 SADDSAT/SSUBSAT/UADDSAT/USUBSAT (details)
  8. [Orc] Use extensible RTTI for the orc::ObjectLayer class hierarchy (details)
  9. [clang][cli] Fix build failure in CompilerInvocation (details)
  10. [clang][cli] Implement '-cuid=' marshalling (details)
  11. Revert "[NARY-REASSOCIATE] Support reassociation of min/max" (details)
  12. [InstCombine] Avoid redundant or out-of-order debug value sinking (details)
  13. [mlir] Replace deprecated 'getAttrs' (details)
  14. [X86] Allow PTILEZEROV and PTILELOADDV to be rematerializable (details)
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/SPIRV/Transforms/LowerABIAttributesPass.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.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/test/CodeGen/X86/avx512bw-mask-op.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-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_ssubo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_saddo.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
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/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Layer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.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/include/llvm/Transforms/Scalar/NaryReassociate.h
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-umax.ll
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-smin.ll
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-umin.ll
The file was modifiedllvm/lib/Transforms/Scalar/NaryReassociate.cpp
The file was modifiedllvm/test/Transforms/NaryReassociate/nary-smax.ll
Commit ec7b9b0c18bb9c9669231bdfa71b0aa7a71140c1 by stephen.tozer
[InstCombine] Avoid redundant or out-of-order debug value sinking

This patch modifies TryToSinkInstruction in the InstCombine pass, to prevent
redundant debug intrinsics from being produced, and also prevent the intrinsics
from being emitted in an incorrect order. It does this by ensuring that when
this pass sinks an instruction and creates clones of the debug intrinsics that
use that instruction, it inserts those debug intrinsics in their original order,
and only inserts the last debug intrinsic for each variable in the Instruction's
block.

Differential revision: https://reviews.llvm.org/D95463
The file was modifiedllvm/test/Transforms/InstCombine/debuginfo-sink.ll
The file was modifiedllvm/test/Transforms/InstCombine/debuginfo_add.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 56774bdda5788e48dce1ae87de1ff378918e318e by marius.brehler
[mlir] Replace deprecated 'getAttrs'

'getAttrs' has been explicitly marked deprecated. This patch refactors
to use Operation::getAttrs().

Reviewed By: csigg

Differential Revision: https://reviews.llvm.org/D97546
The file was modifiedmlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
The file was modifiedmlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
Commit ad9091c5fa9f3749496d1a8ce8481f0011ed40da by pengfei.wang
[X86] Allow PTILEZEROV and PTILELOADDV to be rematerializable

Spilling and reloading AMX registers are expensive. We allow PTILEZEROV
and PTILELOADDV to be rematerializable to avoid the register spilling.

Reviewed By: LuoYuanke

Differential Revision: https://reviews.llvm.org/D97453
The file was modifiedllvm/lib/Target/X86/X86InstrAMX.td
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-across-func.ll
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
The file was modifiedllvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp