]> granicus.if.org Git - llvm/commit
[LoopSimplifyCFG] Update MemorySSA after r353911.
authorAlina Sbirlea <asbirlea@google.com>
Thu, 21 Feb 2019 19:54:05 +0000 (19:54 +0000)
committerAlina Sbirlea <asbirlea@google.com>
Thu, 21 Feb 2019 19:54:05 +0000 (19:54 +0000)
commiteacfb8541a46897ed23ba989fd19604dff8a6dc1
tree8c9e4106311c3840bd1d1a65b0fc410259a2c678
parent924e7815a549d38f8a79e5b48974729e0dfddf0b
[LoopSimplifyCFG] Update MemorySSA after r353911.

Summary:
MemorySSA is not properly updated in LoopSimplifyCFG after recent changes. Use SplitBlock utility to resolve that and clear all updates once handleDeadExits is finished.
All updates that follow are removal of edges which are safe to handle via the removeEdge() API.
Also, deleting dead blocks is done correctly as is, i.e. delete from MemorySSA before updating the CFG and DT.

Reviewers: mkazantsev, rtereshin

Subscribers: sanjoy, jlebar, Prazek, george.burgess.iv, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D58524

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354613 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopSimplifyCFG.cpp
test/Transforms/LoopSimplifyCFG/constant-fold-branch.ll
test/Transforms/LoopSimplifyCFG/lcssa.ll
test/Transforms/LoopSimplifyCFG/live_block_marking.ll
test/Transforms/LoopSimplifyCFG/mssa_update.ll
test/Transforms/LoopSimplifyCFG/update_parents.ll