aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2023-04-25 09:57:39 +0200
committerNikita Popov <npopov@redhat.com>2023-04-25 09:58:31 +0200
commita1ddfb60da108acd3adb18f8e50901739edea3c7 (patch)
treefb6f35c38783ed4747693c0bb169b964cfe60b29
parentc8d1388e6c8bd57299d5801f170719218f735c4c (diff)
downloadllvm-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.cpp2
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(