diff --git a/polly/lib/Analysis/ScopGraphPrinter.cpp b/polly/lib/Analysis/ScopGraphPrinter.cpp index 8034d22b1950..607fe0c04980 100644 --- a/polly/lib/Analysis/ScopGraphPrinter.cpp +++ b/polly/lib/Analysis/ScopGraphPrinter.cpp @@ -135,7 +135,7 @@ struct DOTGraphTraits : public DOTGraphTraits { } for (const auto &SubRegion : *R) - printRegionCluster(SD, SubRegion, O, depth + 1); + printRegionCluster(SD, SubRegion.get(), O, depth + 1); RegionInfo *RI = R->getRegionInfo(); diff --git a/polly/lib/Transform/IndependentBlocks.cpp b/polly/lib/Transform/IndependentBlocks.cpp index d86c3bde5c82..7302590fcd6b 100644 --- a/polly/lib/Transform/IndependentBlocks.cpp +++ b/polly/lib/Transform/IndependentBlocks.cpp @@ -334,12 +334,10 @@ bool IndependentBlocks::splitExitBlock(Region *R) { Region *Reg = toUpdate.back(); toUpdate.pop_back(); - for (Region::iterator I = Reg->begin(), E = Reg->end(); I != E; ++I) { - Region *SubR = *I; - + for (const auto &SubR : *Reg) if (SubR->getExit() == ExitBB) - toUpdate.push_back(SubR); - } + toUpdate.push_back(SubR.get()); + Reg->replaceExit(NewExit); }