SuccessChanges

Summary

  1. [mlir] Specify cuda-runner pass pipeline as command line options. (details)
  2. [AMDGPU] Add more PAL metadata register names (details)
  3. [lldb] Prevent double new lines behind errors/warning/messages from LLDB commands (details)
  4. [mlir] Add a builder to `linalg.tiled_loop`. (details)
  5. [ValueTracking] computeKnownBitsFromShiftOperator - remove non-zero shift amount handling. (details)
  6. Revert "[ValueTracking] computeKnownBitsFromShiftOperator - remove non-zero shift amount handling." (details)
  7. [InstructionCost] NFC: Fix up missing cases in LoopVectorize and CodeGenPrep. (details)
  8. [lld-macho] Add REQUIRES to incompatible-arch-tapi test (details)
  9. [Coverage][Unittest] Fix stringref issue (details)
  10. [clang-tidy][test] Allow specifying potentially unused suffixes (details)
  11. [libc][NFC] Remove headergen for the cacheline size macro. (details)
  12. [mlir] Add polynomial approximation for math::LogOp (using builders API) (details)
  13. [clang-tidy] Fix readability-avoid-const-params-in-decls removing const in template paramaters (details)
  14. [flang][fir] Add zero_bits operation. (details)
  15. [libc++] NFC: Fix a few tests in pair that would succeed trivially (details)
  16. [libc++] NFC: Fix a few tests in tuple that would succeed trivially (details)
  17. [libc][NFC] Exclude few targets from the `all` target. (details)
  18. [OpenMP][Tests][NFC] rename macro to avoid naming clash (details)
  19. [AMDGPU] Add a bit more gfx90a test coverage (details)
  20. [OpenMP][Tests][NFC] rename macro to avoid naming clash (details)
  21. [tests] Mark an autogened test as such (details)
  22. [libomptarget] Load images in order of registration (details)
  23. Make sure some types are indeed trivially_copyable per llvm::is_trivially_copyable (details)
  24. Revert "[tests] Mark an autogened test as such" (details)
  25. [OpenMP][Tests][NFC] lit might also be known as llvm-lit.py (details)
  26. [OpenMP] Fixed a crash when offloading to x86_64 with target nowait (details)
  27. [OpenMP][Tests][NFC] rename macro to avoid naming clash (details)
  28. [tests] precommit tests for an upcoming AA improvement (details)
  29. [flang] add attribute to trim runtime implementation establish call (details)
  30. [AArch64] Do not fold SP adjustments into pre-increment addr modes if it overflows the redzone. (details)
  31. [MC][ARM] add .w suffixes for BL (T1) and DBG (details)
  32. [libomptarget] Fixed MSVC build fail caused by __attribute__((used)). (details)
  33. Revert rGd65ddca83ff85c7345fe9a0f5a15750f01e38420 - "[ValueTracking] ComputeKnownBits - minimum leading/trailing zero bits in LSHR/SHL (PR44526)" (details)
  34. [mlir] Add constBuilderCall to TypeAttr to simplify builders (details)
Commit eb8d6af5e406f1dafb2f742bc9994ffbc8a6ea76 by csigg
[mlir] Specify cuda-runner pass pipeline as command line options.

The cuda-runner registers two pass pipelines for nested passes,
so that we don't have to use verbose textual pass pipeline specification.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D97091
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-or.mlir
The file was modifiedmlir/test/mlir-cuda-runner/gpu-to-cubin.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-min.mlir
The file was modifiedmlir/test/mlir-cuda-runner/multiple-all-reduce.mlir
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertKernelFuncToBlob.cpp
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-max.mlir
The file was modifiedmlir/test/mlir-cuda-runner/async.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-xor.mlir
The file was modifiedmlir/test/mlir-cuda-runner/two-modules.mlir
The file was modifiedmlir/test/mlir-cuda-runner/shuffle.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-and.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-op.mlir
The file was modifiedmlir/test/mlir-cuda-runner/all-reduce-region.mlir
Commit aab709f090f5f3bcd282bd71fbddce706da8dd06 by jay.foad
[AMDGPU] Add more PAL metadata register names

Add all the registers that are currently used by
LLPC: https://github.com/GPUOpen-Drivers/llpc

This only affects disassembly of PAL metadata generated by LLPC and
similar frontends.

Differential Revision: https://reviews.llvm.org/D95619
The file was modifiedllvm/test/MC/AMDGPU/pal-registers.s
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
Commit 6201017d541fb024dfcbe135576d38a97f88b1a3 by Raphael Isemann
[lldb] Prevent double new lines behind errors/warning/messages from LLDB commands

The current API for printing errors/warnings/messages from LLDB commands
sometimes adds newlines behind the messages for the caller. However, this
happens unconditionally so when the caller already specified a trailing newline
in the error message (or is trying to print a generated error message that ends
in a newline), LLDB ends up printing both the automatically added newline and
the one that was in the error message string. This leads to all the randomly
appearing new lines in error such as:

```
(lldb) command a
error: 'command alias' requires at least two arguments
(lldb) apropos a b
error: 'apropos' must be called with exactly one argument.

(lldb) why is there an empty line behind the second error?
```

This code adds a check that only appends the new line if the passed message
doesn't already contain a trailing new line.

Also removes the AppendRawWarning which had only one caller and doesn't serve
any purpose now.

Reviewed By: #lldb, mib

Differential Revision: https://reviews.llvm.org/D96947
The file was modifiedlldb/source/Interpreter/CommandReturnObject.cpp
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
The file was modifiedlldb/test/Shell/Commands/command-disassemble.s
The file was modifiedlldb/include/lldb/Interpreter/CommandReturnObject.h
Commit 7377ef9357191a2c540ba0c20375a9f92233e0f6 by pifon
[mlir] Add a builder to `linalg.tiled_loop`.

https://llvm.discourse.group/t/rfc-add-linalg-tileop/2833

Differential Revision: https://reviews.llvm.org/D97372
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
Commit d37400168ce2f1f9ccc91847431f5b8c020a7d67 by llvm-dev
[ValueTracking] computeKnownBitsFromShiftOperator - remove non-zero shift amount handling.

This no longer affects any tests after the improvements to the KnownBits shift helpers.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 3d837ad7041f88c9bf308d9de0b941e2e7eb4a6c by thakis
Revert "[ValueTracking] computeKnownBitsFromShiftOperator - remove non-zero shift amount handling."

This reverts commit d37400168ce2f1f9ccc91847431f5b8c020a7d67.
Breaks Analysis/./AnalysisTests/ComputeKnownBitsTest.KnownNonZeroShift
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 5e19208d96dda06327b7e17ae17a86049475f111 by sander.desmalen
[InstructionCost] NFC: Fix up missing cases in LoopVectorize and CodeGenPrep.

This fixes the types of a few more cost variables to be of type InstructionCost.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 9ced8b3b614ceba7dcd4a8fc3d2fc0be7d09f650 by jezng
[lld-macho] Add REQUIRES to incompatible-arch-tapi test
The file was modifiedlld/test/MachO/invalid/incompatible-arch-tapi.s
Commit ff6dc053b7ba8ffb7d02c9c4560fe80b66b117b8 by Jinsong Ji
[Coverage][Unittest] Fix stringref issue

We will pass StringRef and change it in reader.
But we reuse the same Filename vector without clear it,
so in some systems, we may clobbeer previous results.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D97353
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
Commit b90fdb7c117fab83a8a2d1c95ed468c47e480f89 by n.james93
[clang-tidy][test] Allow specifying potentially unused suffixes

If a check-suffix is only required for a CHECK-FIXES or CHECK-MESSAGES. check_clang_tidy will pass the prefixes CHECK-FIXES<...> and CHECK-MESSAGES<...> to FileCheck.
This will result in a FileCheck failing because of an unused prefix.

This addresses the problem by not passing unused prefixes. Its also possible to fix this be passing `--allow-unused-prefixes` flag to FileCheck, but seeing as we have already done the legwork in the script to see its unused, this fix seems the better way to go.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D97322
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/check_clang_tidy.py
Commit 5f0800cc187a006e0424b9fd66985b39525d4478 by sivachandra
[libc][NFC] Remove headergen for the cacheline size macro.

We want to be able to build and test the string functions in contexts
like that of Fuchsia where LLVM pieces like tablegen are not available.
Since header generation uses tablegen, we are removing the dependency on
headergen here.

Reviewed By: gchatelet

Differential Revision: https://reviews.llvm.org/D97363
The file was removedlibc/src/string/memory_utils/cacheline_size_x86.h.inc
The file was removedlibc/src/string/memory_utils/cacheline_size_ppc64.h.inc
The file was modifiedlibc/src/string/memory_utils/utils.h
The file was removedlibc/src/string/memory_utils/cacheline_size_aarch64.h.inc
The file was modifiedlibc/src/string/memory_utils/CMakeLists.txt
The file was removedlibc/src/string/memory_utils/cacheline_size.h.def
The file was removedlibc/src/string/memory_utils/cacheline_size_x86_64.h.inc
The file was removedlibc/src/string/memory_utils/cacheline_size_arm.h.inc
Commit ce976d2db39fd20d9941ae84f977c88d380277ab by ezhulenev
[mlir] Add polynomial approximation for math::LogOp (using builders API)

Replace math::LogOp with an approximations from the the Julien Pommier's SSE math library

Link: http://gruntthepeon.free.fr/ssemath

Reviewed By: asaadaldien

Differential Revision: https://reviews.llvm.org/D97304
The file was modifiedmlir/test/lib/Transforms/TestPolynomialApproximation.cpp
The file was modifiedmlir/test/Dialect/Math/polynomial-approximation.mlir
The file was modifiedmlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
The file was modifiedmlir/lib/Dialect/Math/Transforms/CMakeLists.txt
The file was modifiedmlir/test/mlir-cpu-runner/math_polynomial_approx.mlir
Commit a34532c330f61c35612bb0c4b753979307020608 by n.james93
[clang-tidy] Fix readability-avoid-const-params-in-decls removing const in template paramaters

Fixes https://bugs.llvm.org/show_bug.cgi?id=38035

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D96209
The file was modifiedclang-tools-extra/clang-tidy/readability/AvoidConstParamsInDecls.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-avoid-const-params-in-decls.cpp
Commit 330406143230451160a8dfc5b0dc24aa015abde0 by eschweitz
[flang][fir] Add zero_bits operation.

This patch adds the new zero_bits operation and upstrams other changes
including the following:

  - update tablegen syntax to newer forms
  - update memory effects annotations
  - update documentation [NFC]
  - other NFC, such as whitespace and formatting

Differential revision: https://reviews.llvm.org/D97331
The file was modifiedflang/test/Fir/fir-ops.fir
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
Commit 4814985dec576a71ae9eabec40e8ca20111f830c by Louis Dionne
[libc++] NFC: Fix a few tests in pair that would succeed trivially
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp
Commit 5f5416e1c4b418d59f7f944060c8a39ced2189a0 by Louis Dionne
[libc++] NFC: Fix a few tests in tuple that would succeed trivially
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp
Commit 6628387c9a0e48355638c287e7111d7c400e4926 by sivachandra
[libc][NFC] Exclude few targets from the `all` target.
The file was modifiedlibc/cmake/modules/LLVMLibCObjectRules.cmake
The file was modifiedlibc/cmake/modules/LLVMLibCLibraryRules.cmake
Commit 35ab6d6390ecd285041590c00bac71a00e86aede by protze
[OpenMP][Tests][NFC] rename macro to avoid naming clash

When including <ostream>, the register_callback macro of the OMPT callback.h
clashes with a function defined in ostream. This patch renames the macro
and includes ompt into the macro name.
The file was modifiedopenmp/runtime/test/ompt/tasks/task_memory.c
The file was modifiedopenmp/runtime/test/ompt/synchronization/barrier/implicit_task_data.c
The file was modifiedopenmp/runtime/test/ompt/synchronization/master.c
The file was modifiedopenmp/runtime/test/ompt/callback.h
The file was modifiedopenmp/runtime/test/ompt/parallel/repeated_calls.c
Commit 449e36ce726a5c4d751de540c4b49c883cde60ca by jay.foad
[AMDGPU] Add a bit more gfx90a test coverage

Update the GlobalISel version of llvm.amdgcn.workitem.id.ll to mostly
match the SelctionDAG version.

Differential Revision: https://reviews.llvm.org/D97377
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
Commit e0f3acc5d34aa565921c012591581e28aa32af19 by protze
[OpenMP][Tests][NFC] rename macro to avoid naming clash

Rename a macro and macro use missed in 35ab6d6390ecd
The file was modifiedopenmp/tools/multiplex/tests/custom_data_storage/first-tool.h
Commit 43a569faeb332ae8b355fffc33eec1ef6e33052e by listmail
[tests] Mark an autogened test as such
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
Commit 542d9c21541d64da7e1c63a67563aa93ebc93446 by simon.moll
[libomptarget] Load images in order of registration

This makes sure that images are loaded in the order in which they are registered with libomptarget.

If a target can load multiple images and these images depend on each other (for example if one image contains the programs target regions and one image contains library code), then the order in which images are loaded can be important for symbol resolution (for example, in the VE plugin).
In this case: because the same code exist in the host binaries, the order in which the host linker loads them (which is also the order in which images are registered with libomptarget) is the order in which the images have to be loaded onto the device.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D95530
The file was modifiedopenmp/libomptarget/plugins/exports
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/src/rtl.cpp
The file was modifiedopenmp/libomptarget/src/rtl.h
The file was modifiedopenmp/libomptarget/include/omptargetplugin.h
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/plugins/ve/src/rtl.cpp
Commit ca0bb0e8875097b9cdc60790438a1118da3911ba by sguelton
Make sure some types are indeed trivially_copyable per llvm::is_trivially_copyable

Test a few types used as llvm::SmallVector parameter. It is important to ensure
we have a consistent behavior for these types to prevent ABI issues as the one
we met in https://bugs.llvm.org/show_bug.cgi?id=39427.

Differential Revision: https://reviews.llvm.org/D96536
The file was modifiedllvm/unittests/Support/TypeTraitsTest.cpp
Commit 532d4814ac8e2594c3a5d93338cd9f6b9b391e47 by listmail
Revert "[tests] Mark an autogened test as such"

This reverts commit 43a569faeb332ae8b355fffc33eec1ef6e33052e.

Unhelpfully, the tool just added the header and didn't actually update any of the tests.  I didn't notice until after pushing.
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
Commit f3a72509a743726f4acdd3e4d1499a97c33f162a by protze
[OpenMP][Tests][NFC] lit might also be known as llvm-lit.py
The file was modifiedopenmp/cmake/OpenMPTesting.cmake
Commit e5da63d5a9ede1fb6d8aa18cfd44533ead128738 by tianshilei1992
[OpenMP] Fixed a crash when offloading to x86_64 with target nowait

PR#49334 reports a crash when offloading to x86_64 with `target nowait`,
which is caused by referencing a nullptr. The root cause of the issue is, when
pushing a hidden helper task in `__kmp_push_task`, it also maps the gtid to its
shadow gtid, which is wrong.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D97329
The file was addedopenmp/libomptarget/test/offloading/bug49334.cpp
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
Commit 2fbce374c8fb6f847bf6f4f023fe753989f49aa1 by protze
[OpenMP][Tests][NFC] rename macro to avoid naming clash

Rename a macro use missed in e0f3acc5d34aa
The file was modifiedopenmp/tools/multiplex/tests/custom_data_storage/first-tool.h
Commit c1706f2269ac82cbae2ed538f0857fa6516bcbb4 by listmail
[tests] precommit tests for an upcoming AA improvement
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
Commit b146dfe527ba81297d2949fc423e66c869bf926a by jperier
[flang] add attribute to trim runtime implementation establish call

CFI allocatable attribute is needed so that the descriptor for the
result can be allocated/deallocated.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D97395
The file was modifiedflang/runtime/character.cpp
Commit 0146d206317e1d40775621639a4dde7c43e0f433 by Amara Emerson
[AArch64] Do not fold SP adjustments into pre-increment addr modes if it overflows the redzone.

Instead of outright disabling this completely with the noredzone attribute,
we only avoid doing the optimization if there are memory operations between
the adjustment and the load/store that the adjustment would be folded into.
This avoids the case of something like a stack cookie being corrupted if an
exception happens before the pre-increment to the SP occurs.

This also prevents the folding happening if we have a redzone, but the offset
being folded is above the redzone amount (128 bytes in this case).

rdar://73269336

Differential Revision: https://reviews.llvm.org/D95179
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was addedllvm/test/CodeGen/AArch64/ldst-nopreidx-sp-redzone.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit 404843a94dbf2f9d91b9bb1dfc8608a4d7ae58c7 by ndesaulniers
[MC][ARM] add .w suffixes for BL (T1) and DBG

F1.2 Standard assembler syntax fields
describes .w and .n suffixes for wide and narrow encodings.

arch/arm/probes/kprobes/test-thumb.c tests installing kprobes for
certain instructions using inline asm.  There's a few instructions we
fail to assemble due to missing .w t2InstAliases.

Adds .w suffixes for:
* bl  (F5.1.25 BL, BLX (immediate) T1)
* dbg (F5.1.42 DBG T1)

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D97236
The file was modifiedllvm/test/MC/ARM/basic-thumb2-instructions.s
The file was modifiedllvm/test/MC/ARM/thumb2-branches.s
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
Commit 6baeeb9efa8ec6d64d66fdceac7240b5b08fb40b by vyacheslav.p.zakharin
[libomptarget] Fixed MSVC build fail caused by __attribute__((used)).

Differential Revision: https://reviews.llvm.org/D97348
The file was modifiedopenmp/libomptarget/include/Debug.h
Commit 96a3dfeb9303f2f2d26628bd08908554286895cf by llvm-dev
Revert rGd65ddca83ff85c7345fe9a0f5a15750f01e38420 - "[ValueTracking] ComputeKnownBits - minimum leading/trailing zero bits in LSHR/SHL (PR44526)"

This is causing sanitizer test failures that I haven't been able to fix yet.
The file was modifiedllvm/test/Transforms/InstSimplify/icmp-constant.ll
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Support/KnownBits.cpp
Commit 5f8a80882b72695978035a25002d365d0dd84803 by antiagainst
[mlir] Add constBuilderCall to TypeAttr to simplify builders

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D97344
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/TensorConstantBufferize.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp