mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-29 15:37:46 +00:00
More minor code simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74395 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9d59d9f849
commit
cfb32203bc
@ -352,10 +352,9 @@ bool LoopRotate::rotateLoop(Loop *Lp, LPPassManager &LPM) {
|
|||||||
|
|
||||||
// Removing incoming branch from loop preheader to original header.
|
// Removing incoming branch from loop preheader to original header.
|
||||||
// Now original header is inside the loop.
|
// Now original header is inside the loop.
|
||||||
for (BasicBlock::iterator I = OrigHeader->begin(), E = OrigHeader->end();
|
for (BasicBlock::iterator I = OrigHeader->begin();
|
||||||
I != E; ++I)
|
(PN = dyn_cast<PHINode>(I)); ++I)
|
||||||
if (PHINode *PN = dyn_cast<PHINode>(I))
|
PN->removeIncomingValue(OrigPreHeader);
|
||||||
PN->removeIncomingValue(OrigPreHeader);
|
|
||||||
|
|
||||||
// Make NewHeader as the new header for the loop.
|
// Make NewHeader as the new header for the loop.
|
||||||
L->moveToHeader(NewHeader);
|
L->moveToHeader(NewHeader);
|
||||||
@ -452,13 +451,10 @@ void LoopRotate::preserveCanonicalLoopForm(LPPassManager &LPM) {
|
|||||||
"Unexpected original pre-header terminator");
|
"Unexpected original pre-header terminator");
|
||||||
OrigPH_BI->setSuccessor(1, NewPreHeader);
|
OrigPH_BI->setSuccessor(1, NewPreHeader);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (BasicBlock::iterator I = NewHeader->begin(), E = NewHeader->end();
|
|
||||||
I != E; ++I) {
|
|
||||||
PHINode *PN = dyn_cast<PHINode>(I);
|
|
||||||
if (!PN)
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
PHINode *PN;
|
||||||
|
for (BasicBlock::iterator I = NewHeader->begin();
|
||||||
|
(PN = dyn_cast<PHINode>(I)); ++I) {
|
||||||
int index = PN->getBasicBlockIndex(OrigPreHeader);
|
int index = PN->getBasicBlockIndex(OrigPreHeader);
|
||||||
assert(index != -1 && "Expected incoming value from Original PreHeader");
|
assert(index != -1 && "Expected incoming value from Original PreHeader");
|
||||||
PN->setIncomingBlock(index, NewPreHeader);
|
PN->setIncomingBlock(index, NewPreHeader);
|
||||||
@ -545,11 +541,10 @@ void LoopRotate::preserveCanonicalLoopForm(LPPassManager &LPM) {
|
|||||||
BasicBlock *NExit = SplitEdge(L->getLoopLatch(), Exit, this);
|
BasicBlock *NExit = SplitEdge(L->getLoopLatch(), Exit, this);
|
||||||
|
|
||||||
// Preserve LCSSA.
|
// Preserve LCSSA.
|
||||||
BasicBlock::iterator I = Exit->begin(), E = Exit->end();
|
for (BasicBlock::iterator I = Exit->begin();
|
||||||
PHINode *PN = NULL;
|
(PN = dyn_cast<PHINode>(I)); ++I) {
|
||||||
for (; (PN = dyn_cast<PHINode>(I)); ++I) {
|
|
||||||
unsigned N = PN->getNumIncomingValues();
|
unsigned N = PN->getNumIncomingValues();
|
||||||
for (unsigned index = 0; index < N; ++index)
|
for (unsigned index = 0; index != N; ++index)
|
||||||
if (PN->getIncomingBlock(index) == NExit) {
|
if (PN->getIncomingBlock(index) == NExit) {
|
||||||
PHINode *NewPN = PHINode::Create(PN->getType(), PN->getName(),
|
PHINode *NewPN = PHINode::Create(PN->getType(), PN->getName(),
|
||||||
NExit->begin());
|
NExit->begin());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user