Changes

Summary

  1. [ARM] Don't build GWP_ASAN for Arm/Thumb v7 (details)
Commit d3729f821cdce4ba180bfb9901f181da9c85938b by david.spickett
[ARM] Don't build GWP_ASAN for Arm/Thumb v7

Currently failing with:
undefined reference to `__aeabi_unwind_cpp_pr0'

https://lab.llvm.org/staging/#/builders/169/builds/3373

I thought this would be fixed by https://reviews.llvm.org/D131250 or
a version of that just for GWP_ASAN but have had no success so far.

Let's get a build of the rest at least.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [ORC-RT] Don't unconditionally add dependence on llvm-jitlink. (details)
  2. [ORC-RT] Fix typo. (details)
  3. [DSE] Eliminate noop store even through has clobbering between LoadI and StoreI (details)
  4. [LICM] Allow load-only scalar promotion in the presence of unwinding (details)
  5. Revert "[DSE] Eliminate noop store even through has clobbering between LoadI and StoreI" (details)
  6. [flang] Avoid copyin/copyout if the actual argument is contiguous at runtime (details)
  7. [X86] Add missing key feature for core2 (details)
  8. [cmake] Append CLANG_LIBDIR_SUFFIX to scan-build-py installation destination (details)
  9. [mlir][Linalg] Apply ClangTidy performance finding. (details)
  10. [SPIRV] Add tests to improve test coverage (details)
  11. [MLIR] Remove unused config attributes from lit.site.cfg.py (details)
  12. [mlir][Vector] Refactor vector distribution and fix an issue related to non-homogenous transfer indices. (details)
  13. [NFC] Cleanup lookup for coroutine allocation/deallocation (details)
  14. [LICM] Add test for missed load promotion opportunity (NFC) (details)
  15. [FLANG][NFCI]De-duplicate code in SimplifyIntrinsics (details)
Commit c1c585a065e5f694570d334d0e432454be41e220 by Lang Hames
[ORC-RT] Don't unconditionally add dependence on llvm-jitlink.

Commit 4adc5bead4a moved a dependence on llvm-jitlink from
SANITIZER_COMMON_LIT_TEST_DEPS to ORC_TEST_DEPS, but in doing so it moved it
out from under a 'NOT COMPILER_RT_STANDALONE_BUILD ...' conditional. This led
to failures on standalone builds.

This commit adds the conditional to the ORC_TEST_DEPS assignment to work
around the issue while we look a longer term fix.

rdar://99453446
The file was modifiedcompiler-rt/test/orc/CMakeLists.txt (diff)
Commit acce4241111e3087319048b3d3aebab150c761c2 by Lang Hames
[ORC-RT] Fix typo.

Removes the stray '$' that slipped in to c1c585a065e5.
The file was modifiedcompiler-rt/test/orc/CMakeLists.txt (diff)
Commit cd8f3e75813995c1d2da35370ffcf5af3aff9c2f by luxufan
[DSE] Eliminate noop store even through has clobbering between LoadI and StoreI

For noop store of the form of LoadI and StoreI,
An invariant should be kept is that the memory state of the related
MemoryLoc before LoadI is the same as before StoreI.
For this example:
```
define void @pr49927(i32* %q, i32* %p) {
  %v = load i32, i32* %p, align 4
  store i32 %v, i32* %q, align 4
  store i32 %v, i32* %p, align 4
  ret void
}
```
Here the definition of the store's destination is different with the
definition of the load's destination, which it seems that the
invariant mentioned above is broken. But the definition of the
store's destination would write a value that is LoadI, actually, the
invariant is still kept. So we can safely ignore it.

Differential Revision: https://reviews.llvm.org/D132657
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll (diff)
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
Commit 639d9122825d2f697d2dadc396c2f872f2a97921 by npopov
[LICM] Allow load-only scalar promotion in the presence of unwinding

Currently, we bail out of scalar promotion if the loop may unwind
and the memory may be visible on unwind. This is because we can't
insert stores of the promoted value on unwind edges.

However, nowadays scalar promotion also has support for only
promoting loads, while leaving stores in place. This kind of
promotion is safe even in the presence of unwinding.

Differential Revision: https://reviews.llvm.org/D133111
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp (diff)
The file was modifiedllvm/test/Transforms/LICM/scalar-promote-unwind.ll (diff)
The file was modifiedllvm/test/Transforms/LICM/guards.ll (diff)
Commit c453e5b901ccaf9e7102575d6b14f190acc703be by npopov
Revert "[DSE] Eliminate noop store even through has clobbering between LoadI and StoreI"

This reverts commit cd8f3e75813995c1d2da35370ffcf5af3aff9c2f.

As pointed out by Eli on the review, this is missing an alignment
check. The value might be written at an offset.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll (diff)
Commit 4ed30c81d36d4518c63e951fe4b2e4df5a19fd0e by clementval
[flang] Avoid copyin/copyout if the actual argument is contiguous at runtime

This patch adds contiguity check with the runtime to avoid copyin/copyout
in case the actual argument is actually contiguous.

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D133097
The file was modifiedflang/lib/Lower/ConvertExpr.cpp (diff)
The file was modifiedflang/test/Lower/call-copy-in-out.f90 (diff)
The file was modifiedflang/test/Lower/call-by-value-attr.f90 (diff)
The file was modifiedflang/test/Lower/dummy-argument-optional-2.f90 (diff)
The file was modifiedflang/test/Lower/optional-value-caller.f90 (diff)
Commit 66f332bc1ac04430580a8498ab5537b392f3ea1e by freddy.ye
[X86] Add missing key feature for core2

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D133094
The file was modifiedclang/test/CodeGen/attr-target-mv.c (diff)
The file was modifiedllvm/lib/Support/X86TargetParser.cpp (diff)
Commit 1334e129a39cb427e7b855e9a711a3e7604e50e5 by yedeng.yd
[cmake] Append CLANG_LIBDIR_SUFFIX to scan-build-py installation destination

met this issue when building llvm with config LLVM_LIBDIR_SUFFIX=64, and
the installation destination of scan-build-py does not respect the given
suffix.

Reviewed By: phosek

Differential Revision: https://reviews.llvm.org/D133160
The file was modifiedclang/tools/scan-build-py/CMakeLists.txt (diff)
Commit 3730658ed95cd82cc2942f39d55610a5d98f8b23 by akuegel
[mlir][Linalg] Apply ClangTidy performance finding.

Loop variable is copied but only used as const reference.
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp (diff)
Commit 13453c98612964809ad8dd771275f14c440aa7ac by andrey.tretyakov
[SPIRV] Add tests to improve test coverage

Differential Revision: https://reviews.llvm.org/D132817
The file was addedllvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
The file was modifiedllvm/test/CodeGen/SPIRV/capability-Int64Atomics.ll (diff)
The file was addedllvm/test/CodeGen/SPIRV/transcoding/spec_const.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpGroupAllAny.ll
The file was modifiedllvm/test/CodeGen/SPIRV/empty-module.ll (diff)
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpenCL/barrier.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_vote.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/sub_group_clustered_reduce.ll
The file was addedllvm/test/CodeGen/SPIRV/select.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/relationals_half.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/sub_group_extended_types.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/fmod.ll
The file was modifiedllvm/test/CodeGen/SPIRV/transcoding/builtin_calls.ll (diff)
The file was addedllvm/test/CodeGen/SPIRV/transcoding/relationals_float.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpDot.ll
The file was addedllvm/test/CodeGen/SPIRV/capability-Int64Atomics-store.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/fclamp.ll
The file was addedllvm/test/CodeGen/SPIRV/simple.ll
The file was addedllvm/test/CodeGen/SPIRV/FOrdGreaterThanEqual_int.ll
The file was modifiedllvm/test/CodeGen/SPIRV/spirv-tools-dis.ll (diff)
The file was addedllvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpAllAny.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpenCL/work_group_barrier.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_work_item_fence.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle_relative.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/relationals_double.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
The file was addedllvm/test/CodeGen/SPIRV/relationals.ll
The file was addedllvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
Commit 0816b629c9da5aa8885c4cb3fbbf5c905d37f0ee by csigg
[MLIR] Remove unused config attributes from lit.site.cfg.py

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D132726
The file was modifiedmlir/examples/standalone/test/lit.site.cfg.py.in (diff)
The file was modifiedmlir/test/lit.site.cfg.py.in (diff)
The file was modifiedmlir/test/Unit/lit.site.cfg.py.in (diff)
Commit fa8a10a1fd0dfd6e54822a033fb8b0900bd19c6d by nicolas.vasilache
[mlir][Vector] Refactor vector distribution and fix an issue related to non-homogenous transfer indices.

Running: `mlir-opt -test-vector-warp-distribute=rewrite-warp-ops-to-scf-if -canonicalize -verify-each=0`.

Prior to this revision, IR resembling the following would be produced:
```
  %4 = "vector.load"(%3, %arg0) : (memref<1x32xf32, 3>, index) -> vector<1x1xf32>
```
This fails verification since it needs 2 indices to load but only 1 is provided.

Differential Revision: https://reviews.llvm.org/D133106
The file was modifiedmlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp (diff)
The file was modifiedmlir/test/Dialect/Vector/vector-warp-distribute.mlir (diff)
Commit 085e8cd8d32c9104abbc2c1345a1483f19d25d36 by yedeng.yd
[NFC] Cleanup lookup for coroutine allocation/deallocation
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp (diff)
Commit 10dfcf1f8799c5c6720c3ae033ec17eb8a45bb95 by npopov
[LICM] Add test for missed load promotion opportunity (NFC)
The file was addedllvm/test/Transforms/LICM/promote-unknown-load.ll
Commit 43159b5808a7de2301be932c666816b4b7b93faf by mats.petersson
[FLANG][NFCI]De-duplicate code in SimplifyIntrinsics

This removes a bunch of duplicated code, by adding an intermediate
function simplifyReduction that takes a std::function argument
for the actual replacement of the code.

No functional change intended.

Reviewed By: vzakhari

Differential Revision: https://reviews.llvm.org/D132588
The file was modifiedflang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp (diff)