diff options
author | Alina Sbirlea <asbirlea@google.com> | 2019-05-08 17:05:36 +0000 |
---|---|---|
committer | Alina Sbirlea <asbirlea@google.com> | 2019-05-08 17:05:36 +0000 |
commit | f31eba649422082783a19bb6b373f31f10f55de9 (patch) | |
tree | b0f73d40cc275dfaacb603f9987a26247249d11a /llvm/lib/Transforms/Scalar/LoopInterchange.cpp | |
parent | 9f15718b3dd405adb2477a121e1030a0e81d00fd (diff) | |
download | llvm-f31eba649422082783a19bb6b373f31f10f55de9.zip llvm-f31eba649422082783a19bb6b373f31f10f55de9.tar.gz llvm-f31eba649422082783a19bb6b373f31f10f55de9.tar.bz2 |
[MemorySSA] Teach LoopSimplify to preserve MemorySSA.
Summary:
Preserve MemorySSA in LoopSimplify, in the old pass manager, if the analysis is available.
Do not preserve it in the new pass manager.
Update tests.
Subscribers: nemanjai, jlebar, javed.absar, Prazek, kbarton, zzheng, jsji, llvm-commits, george.burgess.iv, chandlerc
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60833
llvm-svn: 360270
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopInterchange.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopInterchange.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp index bde4eca..bec5af5 100644 --- a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp +++ b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp @@ -1362,9 +1362,11 @@ bool LoopInterchangeTransform::adjustLoopBranches() { // preheaders do not satisfy those conditions. if (isa<PHINode>(OuterLoopPreHeader->begin()) || !OuterLoopPreHeader->getUniquePredecessor()) - OuterLoopPreHeader = InsertPreheaderForLoop(OuterLoop, DT, LI, true); + OuterLoopPreHeader = + InsertPreheaderForLoop(OuterLoop, DT, LI, nullptr, true); if (InnerLoopPreHeader == OuterLoop->getHeader()) - InnerLoopPreHeader = InsertPreheaderForLoop(InnerLoop, DT, LI, true); + InnerLoopPreHeader = + InsertPreheaderForLoop(InnerLoop, DT, LI, nullptr, true); // Adjust the loop preheader BasicBlock *InnerLoopHeader = InnerLoop->getHeader(); |