FailedChanges

Summary

  1. tsan: fix warnings in tests (details)
  2. [ARM] Use just ARM::t2B in ARMBlockPlacementPass (details)
  3. [GlobalISel][IRTranslator] Move line zero DebugLoc creation to constant translation. NFC. (details)
  4. [clang-format] Add `SpacesInAngles: Leave` option to keep spacing inside angle brackets as is. (details)
  5. [mlir][Python][Linalg] Adding const, capture, and index support to the OpDSL. (details)
  6. [NewPM] Add an option to dump pass structure (details)
  7. [X32][CET] Fix handling of indirect branches (details)
  8. Follow up of rGddb3b26a1269: added 'requires asserts' to test case. (details)
  9. [mlir][Linalg] Generalize linalg vectorization (details)
  10. [clang-format] Fix build on gcc < 7 introduced in rG9363aa9. (details)
  11. [Utils][vim] Highlight 'vscale' constant (details)
  12. [GlobalISel] Bump CallLoweringInfo::OrigArgs initial size to 32. NFC. (details)
Commit d78782f6a6ee98defe12ec9dde22144e1fe36ce6 by dvyukov
tsan: fix warnings in tests

Fix format specifier.
Fix warnings about non-standard attribute placement.
Make free_race2.c test a bit more interesting:
test access with/without an offset.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D101424
The file was modifiedcompiler-rt/test/tsan/fiber_cleanup.cpp
The file was modifiedcompiler-rt/test/tsan/free_race2.c
The file was modifiedcompiler-rt/test/tsan/sleep_sync.cpp
The file was modifiedcompiler-rt/test/tsan/free_race.c
Commit 465df35355ec30ab8c60ef1c0c156a6b22bda7d4 by david.green
[ARM] Use just ARM::t2B in ARMBlockPlacementPass

The ARMConstantIsland pass will convert any t2B to tB if they are within
range after it has added or moved any constant pools. They don't need to
be deliberately converted beforehand, and it doesn't deal with needing
to convert tB to t2B very well.
The file was modifiedllvm/lib/Target/ARM/ARMBlockPlacement.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/block-placement.mir
Commit aa0b9200e8c5dea43c9ada2085a3061f4da70802 by Amara Emerson
[GlobalISel][IRTranslator] Move line zero DebugLoc creation to constant translation. NFC.

This is a compile time optimization. DILocation:get() is expensive to call, and
we were calling it to create a line zero debug loc for *every* instruction we
translated. We only really need to do this just before we build constants in the
entry block, so I moved this code there. This reduces the LLVM -O0 codegen time
of sqlite3 IR by around 0.7% instructions executed and by about ~2% in CPU time.

We can probably do better with a more involved change, since the reason we need
to create one for each new constant is because we're using the debug scope and
inlined-at loc. If we just use a single instruction's scope and drop the
inlined-at, we can just cache these and have them be free.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Commit 9363aa90bfe6f73df105799abc55bb74d4f186bf by marek.kurdej+llvm.org
[clang-format] Add `SpacesInAngles: Leave` option to keep spacing inside angle brackets as is.

A need for such an option came up in a few libc++ reviews. That's because libc++ has both code in C++03 and newer standards.
Currently, it uses `Standard: C++03` setting for clang-format, but this breaks e.g. u8"string" literals.
Also, angle brackets are the only place where C++03-specific formatting needs to be applied.

Reviewed By: MyDeveloperDay, HazardyKnusperkeks

Differential Revision: https://reviews.llvm.org/D101344
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit c2be2cda8d268d4a0adbede149a20e3fd284f1d7 by gysit
[mlir][Python][Linalg] Adding const, capture, and index support to the OpDSL.

The patch extends the OpDSL with support for:
- Constant values
- Capture scalar parameters
- Access the iteration indices using the index operation
- Provide predefined floating point and integer types.

Up to now the patch only supports emitting the new nodes. The C++/yaml path is not fully implemented. The fill_rng_2d operation defined in emit_structured_generic.py makes use of the new DSL constructs.

Differential Revision: https://reviews.llvm.org/D101364
The file was modifiedmlir/docs/Tools/LinalgOpDsl.md
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/dsl.py
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/emitter.py
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/comprehension.py
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/config.py
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/affine.py
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/types.py
The file was modifiedmlir/lib/Bindings/Python/mlir/dialects/linalg/opdsl/lang/scalar_expr.py
The file was modifiedmlir/test/Bindings/Python/dialects/linalg/opdsl/emit_structured_generic.py
Commit 6a0283d0d23cc8b056005caa31097dfb78853548 by eleviant
[NewPM] Add an option to dump pass structure

Patch adds -debug-pass-structure option to dump pass structure when
new pass manager is used.

Differential revision: https://reviews.llvm.org/D99599
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was addedclang/test/Driver/debug-pass-structure.c
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit 1b788607f549321ef1e8343554b432db07ba3fe6 by harald
[X32][CET] Fix handling of indirect branches

As X32 uses 32-bit pointers without having 32-bit indirect branch
instructions, we need to fix up indirect branches by extending the
branch targets to 64 bits. This was already done for BRIND but not yet
for NT_BRIND. The same logic works for both, so this applies that
existing logic to NT_BRIND as well.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D101499
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/indirect-branch-tracking.ll
Commit 837fded984ed36fa462daeb0f671eec58f71ae26 by sjoerd.meijer
Follow up of rGddb3b26a1269: added 'requires asserts' to test case.
The file was modifiedllvm/test/Transforms/LoopVectorize/nounroll.ll
Commit b6113db955aa7783de9715adeffaf88ba12f2699 by nicolas.vasilache
[mlir][Linalg] Generalize linalg vectorization

This revision adds support for vectorizing more general linalg operations with projected permutation maps.

This is achieved by eagerly broadcasting the intermediate vector to the common size
of the iteration domain of the linalg op. This allows a much more natural expression of
generalized vectorization but may introduce additional computations until all the
proper canonicalizations are implemented.

This generalization modifies the vector.transfer_read/write permutation logic and
exposes the fact that the logic employed in vector.contract was too ad-hoc.

As a consequence, changes occur in the permutation / transposition logic for contraction. In turn this prompts supporting more cases in the lowering of contract
to matrix intrinsics, which is required to make the corresponding tests pass.

Differential revision: https://reviews.llvm.org/D101165
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir
The file was modifiedmlir/include/mlir/Analysis/SliceAnalysis.h
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit 6e5082bbc498ab7d68178ea883203b38f6cd47fb by marek.kurdej+llvm.org
[clang-format] Fix build on gcc < 7 introduced in rG9363aa9.

This fixes a bogus build error on gcc, e.g. https://lab.llvm.org/buildbot/#/builders/110/builds/2973.

/home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/clang/lib/Format/TokenAnnotator.cpp:3097:53: error: binding ‘const clang::SourceRange’ to reference of type ‘clang::SourceRange&’ discards qualifiers
   auto HasExistingWhitespace = [&Whitespace = Right.WhitespaceRange]() {
                                                     ^
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 618b5b5fbc230e4a4c2b52c08cd2b5a525d82deb by fraser
[Utils][vim] Highlight 'vscale' constant

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D101466
The file was modifiedllvm/utils/vim/syntax/llvm.vim
Commit d138e97c2a741fe7c9d4fa278e262ef95b63a358 by Amara Emerson
[GlobalISel] Bump CallLoweringInfo::OrigArgs initial size to 32. NFC.

We spend some time during sqlite3 compilation regrowing this vector,
bump it up to avoid this.

Gives around 1-2% improvement in codegen-only time for sqlite3 at -O0.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h