diff options
author | Dan Gohman <gohman@apple.com> | 2008-06-19 17:37:25 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-06-19 17:37:25 +0000 |
commit | 7ae66b909b51560382a25b22927f2645e7e44b94 (patch) | |
tree | e09bf8fb1b724d5d94aeb11279d71382455e2a92 /lib | |
parent | b0cc5ed4cf789c3fbc2134edbcf9c44e0b3d42f5 (diff) | |
download | external_llvm-7ae66b909b51560382a25b22927f2645e7e44b94.zip external_llvm-7ae66b909b51560382a25b22927f2645e7e44b94.tar.gz external_llvm-7ae66b909b51560382a25b22927f2645e7e44b94.tar.bz2 |
Avoid using BasicBlock::getInstList directly in a few places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52497 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Transforms/Scalar/LoopRotation.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/Transforms/Scalar/LoopRotation.cpp b/lib/Transforms/Scalar/LoopRotation.cpp index ebba18c..38364c1 100644 --- a/lib/Transforms/Scalar/LoopRotation.cpp +++ b/lib/Transforms/Scalar/LoopRotation.cpp @@ -164,7 +164,7 @@ bool LoopRotate::rotateLoop(Loop *Lp, LPPassManager &LPM) { // Check size of original header and reject // loop if it is very big. - if (OrigHeader->getInstList().size() > MAX_HEADER_SIZE) + if (OrigHeader->size() > MAX_HEADER_SIZE) return false; // Now, this loop is suitable for rotation. @@ -208,10 +208,10 @@ bool LoopRotate::rotateLoop(Loop *Lp, LPPassManager &LPM) { // Create new PHI node with two incoming values for NewHeader. // One incoming value is from OrigLatch (through OrigHeader) and // second incoming value is from original pre-header. - PHINode *NH = PHINode::Create(In->getType(), In->getName()); + PHINode *NH = PHINode::Create(In->getType(), In->getName(), + NewHeader->begin()); NH->addIncoming(PN->getIncomingValueForBlock(OrigLatch), OrigHeader); NH->addIncoming(NPV, OrigPreHeader); - NewHeader->getInstList().push_front(NH); // "In" can be replaced by NH at various places. LoopHeaderInfo.push_back(RenameData(In, NPV, NH)); @@ -272,10 +272,10 @@ bool LoopRotate::rotateLoop(Loop *Lp, LPPassManager &LPM) { } } } else { - PHINode *PN = PHINode::Create(In->getType(), In->getName()); + PHINode *PN = PHINode::Create(In->getType(), In->getName(), + NewHeader->begin()); PN->addIncoming(In, OrigHeader); PN->addIncoming(C, OrigPreHeader); - NewHeader->getInstList().push_front(PN); NewHeaderReplacement = PN; } } @@ -358,10 +358,10 @@ bool LoopRotate::rotateLoop(Loop *Lp, LPPassManager &LPM) { } else { // Used outside Exit block. Create a new PHI node from exit block // to receive value from ne new header ane pre header. - PHINode *PN = PHINode::Create(U->getType(), U->getName()); + PHINode *PN = PHINode::Create(U->getType(), U->getName(), + Exit->begin()); PN->addIncoming(ILoopHeaderInfo.PreHeader, OrigPreHeader); PN->addIncoming(OldPhi, OrigHeader); - Exit->getInstList().push_front(PN); U->replaceUsesOfWith(OldPhi, PN); } } @@ -583,14 +583,15 @@ void LoopRotate::preserveCanonicalLoopForm(LPPassManager &LPM) { BasicBlock::iterator I = Exit->begin(), E = Exit->end(); PHINode *PN = NULL; for (; (PN = dyn_cast<PHINode>(I)); ++I) { - PHINode *NewPN = PHINode::Create(PN->getType(), PN->getName()); unsigned N = PN->getNumIncomingValues(); for (unsigned index = 0; index < N; ++index) if (PN->getIncomingBlock(index) == NExit) { + PHINode *NewPN = PHINode::Create(PN->getType(), PN->getName(), + NExit->begin()); NewPN->addIncoming(PN->getIncomingValue(index), L->getLoopLatch()); PN->setIncomingValue(index, NewPN); PN->setIncomingBlock(index, NExit); - NExit->getInstList().push_front(NewPN); + break; } } |