]> granicus.if.org Git - llvm/commit
[MemorySSA] Make the use of moveAllAfterMergeBlocks consistent.
authorAlina Sbirlea <asbirlea@google.com>
Wed, 9 Oct 2019 15:54:24 +0000 (15:54 +0000)
committerAlina Sbirlea <asbirlea@google.com>
Wed, 9 Oct 2019 15:54:24 +0000 (15:54 +0000)
commit83774c7e992b7559742d59a2d8a225dad08dc69f
treec4102e85ec7e1a93ce30d4cd83d44df5daa7eb68
parent9ff203b5bce1fe2d808fe1768528e836e6ac0420
[MemorySSA] Make the use of moveAllAfterMergeBlocks consistent.

Summary:
The rule for the moveAllAfterMergeBlocks API si for all instructions
from `From` to have been moved to `To`, while keeping the CFG edges (and
block terminators) unchanged.
Update all the callsites for moveAllAfterMergeBlocks to follow this.

Pending follow-up: since the same behavior is needed everytime, merge
all callsites into one. The common denominator may be the call to
`MergeBlockIntoPredecessor`.

Resolves PR43569.

Reviewers: george.burgess.iv

Subscribers: Prazek, sanjoy.google, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374177 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/MemorySSAUpdater.cpp
lib/Transforms/Scalar/LoopUnswitch.cpp
lib/Transforms/Utils/BasicBlockUtils.cpp
lib/Transforms/Utils/LoopRotationUtils.cpp
test/Analysis/MemorySSA/pr43569.ll [new file with mode: 0644]