diff --git a/polly/lib/CodeGeneration.cpp b/polly/lib/CodeGeneration.cpp index fe5ad740d951..eb5d63f0ca6d 100644 --- a/polly/lib/CodeGeneration.cpp +++ b/polly/lib/CodeGeneration.cpp @@ -1667,11 +1667,11 @@ class CodeGeneration : public ScopPass { MergeBlock = SplitEdge(R->getExitingBlock(), R->getExit(), this); // SplitEdge will never split R->getExit(), as R->getExit() has more than // one predecessor. Hence, mergeBlock is always a newly generated block. - MergeBlock->setName("polly.merge_new_and_old"); R->replaceExit(MergeBlock); } Builder->CreateBr(MergeBlock); + MergeBlock->setName("polly.merge_new_and_old"); if (DT->dominates(SplitBlock, MergeBlock)) DT->changeImmediateDominator(MergeBlock, SplitBlock); diff --git a/polly/test/CodeGen/split_edges_2.ll b/polly/test/CodeGen/split_edges_2.ll index a350c28d2eb4..79157867c103 100644 --- a/polly/test/CodeGen/split_edges_2.ll +++ b/polly/test/CodeGen/split_edges_2.ll @@ -27,7 +27,7 @@ bb5: } ; CHECK: polly.split_new_and_old -; CHECK-NOT: polly.merge_new_and_old +; CHECK: polly.merge_new_and_old