mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
LoopIndexSplit can sometimes result in cases where a block in its own domfrontier.
Don't crash when we encounter one of these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51915 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bd44c2e383
commit
269db29bdb
@ -235,9 +235,12 @@ bool llvm::SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, Pass *P,
|
||||
DominanceFrontier::iterator I = DF->find(DestBB);
|
||||
if (I != DF->end()) {
|
||||
DF->addBasicBlock(NewBB, I->second);
|
||||
// However NewBB's frontier does not include DestBB.
|
||||
DominanceFrontier::iterator NF = DF->find(NewBB);
|
||||
DF->removeFromFrontier(NF, DestBB);
|
||||
|
||||
if (I->second.count(DestBB)) {
|
||||
// However NewBB's frontier does not include DestBB.
|
||||
DominanceFrontier::iterator NF = DF->find(NewBB);
|
||||
DF->removeFromFrontier(NF, DestBB);
|
||||
}
|
||||
}
|
||||
else
|
||||
DF->addBasicBlock(NewBB, DominanceFrontier::DomSetType());
|
||||
|
Loading…
Reference in New Issue
Block a user