diff options
| author | Nikita Popov <npopov@redhat.com> | 2023-04-25 09:57:39 +0200 |
|---|---|---|
| committer | Nikita Popov <npopov@redhat.com> | 2023-04-25 09:58:31 +0200 |
| commit | a1ddfb60da108acd3adb18f8e50901739edea3c7 (patch) | |
| tree | fb6f35c38783ed4747693c0bb169b964cfe60b29 | |
| parent | c8d1388e6c8bd57299d5801f170719218f735c4c (diff) | |
| download | llvm-a1ddfb60da108acd3adb18f8e50901739edea3c7.zip llvm-a1ddfb60da108acd3adb18f8e50901739edea3c7.tar.gz llvm-a1ddfb60da108acd3adb18f8e50901739edea3c7.tar.bz2 | |
[LICM] Only forget loop/block dispositions
As we are moving the instruction without changing its value, it
is sufficient to only invalidate the loop/block dispositions.
This is the same we do in LoopSink.
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LICM.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LICM.cpp b/llvm/lib/Transforms/Scalar/LICM.cpp index 5a19451..a498a7c 100644 --- a/llvm/lib/Transforms/Scalar/LICM.cpp +++ b/llvm/lib/Transforms/Scalar/LICM.cpp @@ -1518,7 +1518,7 @@ static void moveInstructionBefore(Instruction &I, Instruction &Dest, MSSAU.getMemorySSA()->getMemoryAccess(&I))) MSSAU.moveToPlace(OldMemAcc, Dest.getParent(), MemorySSA::BeforeTerminator); if (SE) - SE->forgetValue(&I); + SE->forgetBlockAndLoopDispositions(&I); } static Instruction *sinkThroughTriviallyReplaceablePHI( |
