diff options
author | Florian Hahn <flo@fhahn.com> | 2022-10-18 15:12:23 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2022-10-18 15:12:24 +0100 |
commit | e302fa89aa45afceedb711a264cfc486395aca17 (patch) | |
tree | d52516cc8547f837caccccb90bc1392c852146a4 /llvm/lib/Transforms/Utils/LoopUnroll.cpp | |
parent | b107ff485621f93df3b9b17d098375364fc4a6f6 (diff) | |
download | llvm-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.cpp | 1 |
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 |