aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUnroll.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2022-10-18 15:12:23 +0100
committerFlorian Hahn <flo@fhahn.com>2022-10-18 15:12:24 +0100
commite302fa89aa45afceedb711a264cfc486395aca17 (patch)
treed52516cc8547f837caccccb90bc1392c852146a4 /llvm/lib/Transforms/Utils/LoopUnroll.cpp
parentb107ff485621f93df3b9b17d098375364fc4a6f6 (diff)
downloadllvm-e302fa89aa45afceedb711a264cfc486395aca17.zip
llvm-e302fa89aa45afceedb711a264cfc486395aca17.tar.gz
llvm-e302fa89aa45afceedb711a264cfc486395aca17.tar.bz2
[LoopUnroll] Forget exit values when making changes.
When unrolling, the exit values in LCSSA phis will get updated. Invalidate cached SCEV values for those phis in case SCEV looked through a exit phi. Fixes #58340.
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnroll.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/LoopUnroll.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopUnroll.cpp b/llvm/lib/Transforms/Utils/LoopUnroll.cpp
index 6d6c3db..fd874db 100644
--- a/llvm/lib/Transforms/Utils/LoopUnroll.cpp
+++ b/llvm/lib/Transforms/Utils/LoopUnroll.cpp
@@ -578,6 +578,7 @@ LoopUnrollResult llvm::UnrollLoop(Loop *L, UnrollLoopOptions ULO, LoopInfo *LI,
if (It != LastValueMap.end())
Incoming = It->second;
PHI.addIncoming(Incoming, New);
+ SE->forgetValue(&PHI);
}
}
// Keep track of new headers and latches as we create them, so that