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