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)
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/lib/Transforms/Scalar/LoopDeletion.cpp
The file was modifiedllvm/test/Transforms/LoopDeletion/update-scev.ll
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/test/Instrumentation/MemorySanitizer/abs-vector.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
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