Index: polly/lib/CodeGen/PPCGCodeGeneration.cpp =================================================================== --- polly/lib/CodeGen/PPCGCodeGeneration.cpp +++ polly/lib/CodeGen/PPCGCodeGeneration.cpp @@ -1557,20 +1557,16 @@ } void GPUNodeBuilder::clearScalarEvolution(Function *F) { - for (BasicBlock &BB : *F) { - Loop *L = LI.getLoopFor(&BB); + for (auto *L : LI) if (L) SE.forgetLoop(L); - } } void GPUNodeBuilder::clearLoops(Function *F) { - for (BasicBlock &BB : *F) { - Loop *L = LI.getLoopFor(&BB); - if (L) - SE.forgetLoop(L); - LI.removeBlock(&BB); - } + clearScalarEvolution(F); + SmallVector Loops(LI.begin(), LI.end()); + for (auto *L : Loops) + LI.erase(L); } std::tuple GPUNodeBuilder::getGridSizes(ppcg_kernel *Kernel) {