SuccessChanges

Summary

  1. [LoopDeletion] Forget loop before setting values to undef (details)
  2. [InstCombine] Add trunc(lshr(sext(x),c)) non-uniform vector tests (details)
  3. [OpenMPOpt][Fix] Only initialize ICV initial values once. (details)
  4. [msan] Add test for vector abs intrinsic (details)
  5. [msan] Fix llvm.abs.v intrinsic (details)
  6. [IndVarSimplify] Fix Modified status for removal of overflow intrinsics (details)
  7. [AArch64] Add BTI to CFI jumptables. (details)
  8. [SYCL] Assume SYCL device functions are convergent (details)
  9. [sanitizer] Don't build gmock for tests (follow-up to 82827244). (details)
  10. [LoopUtils] Only verify SE in builds with assertions. (details)
Commit 60b852092c98dbdc6248d60109d90ae6f8ad841c by flo
[LoopDeletion] Forget loop before setting values to undef

After D71539, we need to forget the loop before setting the incoming
values of phi nodes in exit blocks, because we are looking through those
phi nodes now and the SCEV expression could depend on the loop phi. If
we update the phi nodes before forgetting the loop, we miss those users
during invalidation.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D88167
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedllvm/test/Transforms/LoopDeletion/update-scev.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopDeletion.cpp
Commit 324df2661b3ee38996fab589a2605da458fa249e by llvm-dev
[InstCombine] Add trunc(lshr(sext(x),c)) non-uniform vector tests
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
Commit cb9cfa0d2fddad97828fc46ddcbf86f6b9bf7d6d by sstipanovic
[OpenMPOpt][Fix] Only initialize ICV initial values once.

Reviewers: jdoerfert, ggeorgakoudis

Differential Revision: https://reviews.llvm.org/D88441
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPConstants.h
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
Commit 1fd9a146d375c256475bb3e11df8d6539ae3f764 by Vitaly Buka
[msan] Add test for vector abs intrinsic
The file was addedllvm/test/Instrumentation/MemorySanitizer/abs-vector.ll
Commit 4aa6abe4efc1b648e7ede290210569ca7a703867 by Vitaly Buka
[msan] Fix llvm.abs.v intrinsic

The last argument of the intrinsic is a boolean
flag to control INT_MIN handling and does
not affect msan metadata.
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/abs-vector.ll
Commit e6f332ef1e414ec41a188217d7547a371ed975de by david.stenberg
[IndVarSimplify] Fix Modified status for removal of overflow intrinsics

When removing an overflow intrinsic the Changed status in SimplifyIndvar
was not set, leading to the IndVarSimplify pass returning an incorrect
status.

This was caught using the check introduced by D80916.

As pointed out in the code review, a similar bug may exist for
eliminateTrunc().

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D85971
The file was addedllvm/test/Transforms/IndVarSimplify/eliminate-overflow-modified.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyIndVar.cpp
Commit c5a4900e1a00e88df9d6d9bc39594ff8afd0d9b5 by daniel.kiss
[AArch64] Add BTI to CFI jumptables.

With branch protection the jump to the jump table entries requires a landing pad.

Reviewed By: eugenis, tamas.petz

Differential Revision: https://reviews.llvm.org/D81251
The file was addedllvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
Commit 9263931fcccdc99000c1de668bea330711333729 by alexey.bader
[SYCL] Assume SYCL device functions are convergent

SYCL device compiler (similar to other SPMD compilers) assumes that
functions are convergent by default to avoid invalid transformations.
This attribute can be removed if compiler can prove that function does
not have convergent operations.

Reviewed By: Naghasan

Differential Revision: https://reviews.llvm.org/D87282
The file was addedclang/test/CodeGenSYCL/convergent.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit a59be54e611997f23d1e5a76cada448b5f98d47e by hans
[sanitizer] Don't build gmock for tests (follow-up to 82827244).

A use of gmock was briefly added in a90229d6, but was soon removed in
82827244. This also removes it from the cmake files.
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
Commit 7bae2bc5a8dd11c016c895e3a691fb93575773f3 by flo
[LoopUtils] Only verify SE in builds with assertions.

Follow up to 60b852092c98.
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp