forked from OSchip/llvm-project
parent
bd608a8949
commit
8518bbe39f
|
@ -1667,11 +1667,11 @@ class CodeGeneration : public ScopPass {
|
||||||
MergeBlock = SplitEdge(R->getExitingBlock(), R->getExit(), this);
|
MergeBlock = SplitEdge(R->getExitingBlock(), R->getExit(), this);
|
||||||
// SplitEdge will never split R->getExit(), as R->getExit() has more than
|
// SplitEdge will never split R->getExit(), as R->getExit() has more than
|
||||||
// one predecessor. Hence, mergeBlock is always a newly generated block.
|
// one predecessor. Hence, mergeBlock is always a newly generated block.
|
||||||
MergeBlock->setName("polly.merge_new_and_old");
|
|
||||||
R->replaceExit(MergeBlock);
|
R->replaceExit(MergeBlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
Builder->CreateBr(MergeBlock);
|
Builder->CreateBr(MergeBlock);
|
||||||
|
MergeBlock->setName("polly.merge_new_and_old");
|
||||||
|
|
||||||
if (DT->dominates(SplitBlock, MergeBlock))
|
if (DT->dominates(SplitBlock, MergeBlock))
|
||||||
DT->changeImmediateDominator(MergeBlock, SplitBlock);
|
DT->changeImmediateDominator(MergeBlock, SplitBlock);
|
||||||
|
|
|
@ -27,7 +27,7 @@ bb5:
|
||||||
}
|
}
|
||||||
|
|
||||||
; CHECK: polly.split_new_and_old
|
; CHECK: polly.split_new_and_old
|
||||||
; CHECK-NOT: polly.merge_new_and_old
|
; CHECK: polly.merge_new_and_old
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue