SuccessChanges

Summary

  1. [obj2yaml] Stop parsing the debug_str section when it encounters a string without the null terminator. (details)
  2. [mlir][Vector] Make VectorToSCF deterministic (details)
  3. getClangStripDependencyFileAdjuster(): Do not remove -M args when using MSVC cl driver (details)
  4. Provide anchor for compiler extensions (details)
  5. [mlir] Conv ops vectorization pass (details)
  6. [mlir][VectorOps] Redo the scalar loop emission in VectoToSCF to pad instead of clipping (details)
  7. Revert "[PowerPC] Implement instruction clustering for stores" (details)
  8. [ARM][LowOverheadLoops] Remove modifications to the correct element (details)
  9. [mlir] Fix of broken build on windows caused by using uint (details)
  10. [SyntaxTree] Ignore implicit non-leaf `CXXConstructExpr` (details)
  11. [SyntaxTree] Ignore implicit leaf `CXXConstructExpr` (details)
  12. [SyntaxTree] Ignore implicit `CXXFunctionalCastExpr` wrapping constructor (details)
  13. [SyntaxTree] Fix crash on functions with default arguments. (details)
  14. [mlir][VectorOps] Clean up outdated comments. NFCI. (details)
Commit 3cda69872362526b1672ae23de4ac968b7564c2b by Xing
[obj2yaml] Stop parsing the debug_str section when it encounters a string without the null terminator.

When obj2yaml encounters a string without the null terminator, it should
stop parsing the debug_str section. This patch addresses comments in
[D86867](https://reviews.llvm.org/D86867#inline-803291).

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D87261
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_str.yaml
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/tools/obj2yaml/macho2yaml.cpp
The file was modifiedllvm/tools/obj2yaml/obj2yaml.h
The file was modifiedllvm/test/tools/obj2yaml/ELF/DWARF/debug-str.yaml
Commit 9be6178449555576645ac922e342936319445cac by ntv
[mlir][Vector] Make VectorToSCF deterministic

Differential Revision: https://reviews.llvm.org/D87273
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
Commit 2168dbf4cc766dfb552076d9b1e84b00122b7993 by hans
getClangStripDependencyFileAdjuster(): Do not remove -M args when using MSVC cl driver

MSVC's cl.exe has a few command line arguments which start with -M such
as "-MD", "-MDd", "-MT", "-MTd", "-MP".
These arguments are not dependency file generation related, and these
arguments were being removed by getClangStripDependencyFileAdjuster()
which was wrong.

Differential revision: https://reviews.llvm.org/D86999
The file was modifiedclang/unittests/Tooling/ToolingTest.cpp
The file was modifiedclang/lib/Tooling/ArgumentsAdjusters.cpp
Commit 38778e1087b2825e91b07ce4570c70815b49dcdc by sguelton
Provide anchor for compiler extensions

This patch is cherry-picked from 04b0a4e22e3b4549f9d241f8a9f37eebecb62a31, and
amended to prevent an undefined reference to `llvm::EnableABIBreakingChecks'
The file was modifiedllvm/lib/Extensions/Extensions.cpp
The file was modifiedllvm/lib/Extensions/LLVMBuild.txt
Commit 67b37f571cc27d5684125f694d719b114ad72a18 by limo
[mlir] Conv ops vectorization pass

In this commit a new way of convolution ops lowering is introduced.
The conv op vectorization pass lowers linalg convolution ops
into vector contractions. This lowering is possible when conv op
is first tiled by 1 along specific dimensions which transforms
it into dot product between input and kernel subview memory buffers.
This pass converts such conv op into vector contraction and does
all necessary vector transfers that make it work.

Differential Revision: https://reviews.llvm.org/D86619
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was addedmlir/test/lib/Transforms/TestConvVectorization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was addedmlir/test/Conversion/LinalgToVector/linalg-to-vector.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit 239eff502bca64f544f311e7d7a65fdec01cb9c4 by benny.kra
[mlir][VectorOps] Redo the scalar loop emission in VectoToSCF to pad instead of clipping

This replaces the select chain for edge-padding with an scf.if that
performs the memory operation when the index is in bounds and uses the
pad value when it's not. For transfer_write the same mechanism is used,
skipping the store when the index is out of bounds.

The integration test has a bunch of cases of how I believe this should
work.

Differential Revision: https://reviews.llvm.org/D87241
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/integration_test/Dialect/Vector/CPU/test-transfer-to-loops.mlir
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
Commit 8d9c13f37d2081c11186718ae8b5aef8b507d152 by qiucofan
Revert "[PowerPC] Implement instruction clustering for stores"

This reverts commit 3c0b3250230b3847a2a47dfeacfdb794c2285f02, (along
with ea795304 and bb39eb9e) since it breaks test with UB sanitizer.
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was removedllvm/test/CodeGen/PowerPC/fusion-load-store.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-call-linkage-leaf.ll
Commit 7aabb6ad7764366fd3150d18b16da9aef35e6492 by samuel.tebbs
[ARM][LowOverheadLoops] Remove modifications to the correct element
count register

After my patch at D86087, code that now uses the mov operand rather than
the vctp operand will no longer remove modifications to the vctp operand
as they should. This patch fixes that by explicitly removing
modifications to the vctp operand rather than the register used as the
element count.
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dlstp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 83d82d1fb1cfac06257ebbd7c063a3d2d1af20fb by limo
[mlir] Fix of broken build on windows caused by using uint
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit 2325d6b42f096bf93d2ab0bed7096759e5c96ce8 by ecaldas
[SyntaxTree] Ignore implicit non-leaf `CXXConstructExpr`

Differential Revision: https://reviews.llvm.org/D86699
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 46f4439dc9bf9b8cfee0001b6752c3d074c83b00 by ecaldas
[SyntaxTree] Ignore implicit leaf `CXXConstructExpr`

Differential Revision: https://reviews.llvm.org/D86700
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 134455a07c1f1de4cff62a6afb4ccd98b98343ec by ecaldas
[SyntaxTree] Ignore implicit `CXXFunctionalCastExpr` wrapping constructor

Differential Revision: https://reviews.llvm.org/D87229
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit f5087d5c7248104b6580c7b079ed5f227332c2ef by ecaldas
[SyntaxTree] Fix crash on functions with default arguments.

* Do not visit `CXXDefaultArgExpr`
* To build `CallArguments` nodes, just go through non-default arguments

Differential Revision: https://reviews.llvm.org/D87249
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 307dc7b236924b5eeb5bf46b725a67dcb41bcd89 by benny.kra
[mlir][VectorOps] Clean up outdated comments. NFCI.

While there
- De-templatify code that can use function_ref
- Make BoundCaptures usable when they're const
- Address post-submit review comment (static function into global namespace)
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Builders.h
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp