LoopRotation: Check some invariants of the dominator updating code.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 1 Sep 2012 12:04:51 +0000 (12:04 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 1 Sep 2012 12:04:51 +0000 (12:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163058 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopRotation.cpp

index 2c76706bafab0953ad095b9c024fc5c1a2d66f8c..f8122bf9803ec2c3f560d96ac0cb79cbc4c7a0d1 100644 (file)
@@ -418,6 +418,9 @@ bool LoopRotate::rotateLoop(Loop *L) {
       for (unsigned I = 0, E = HeaderChildren.size(); I != E; ++I)
         DT->changeImmediateDominator(HeaderChildren[I], OrigPreheaderNode);
 
+      assert(DT->getNode(Exit)->getIDom() == OrigPreheaderNode);
+      assert(DT->getNode(NewHeader)->getIDom() == OrigPreheaderNode);
+
       // Update OrigHeader to be dominated by the new header block.
       DT->changeImmediateDominator(OrigHeader, OrigLatch);
     }