Index: lib/Analysis/ScalarEvolutionExpander.cpp =================================================================== --- lib/Analysis/ScalarEvolutionExpander.cpp +++ lib/Analysis/ScalarEvolutionExpander.cpp @@ -162,7 +162,8 @@ // Cast the instruction immediately after the instruction. Instruction *I = cast(V); - BasicBlock::iterator IP = findInsertPointAfter(I, Builder.GetInsertBlock()); + BasicBlock::iterator IP = skipDebugInfo( + findInsertPointAfter(I, Builder.GetInsertBlock())); return ReuseOrCreateCast(I, Ty, Op, IP); } @@ -1480,8 +1481,8 @@ NewOps[i] = SE.getAnyExtendExpr(S->op_begin()[i], CanonicalIV->getType()); Value *V = expand(SE.getAddRecExpr(NewOps, S->getLoop(), S->getNoWrapFlags(SCEV::FlagNW))); - BasicBlock::iterator NewInsertPt = - findInsertPointAfter(cast(V), Builder.GetInsertBlock()); + BasicBlock::iterator NewInsertPt = skipDebugInfo( + findInsertPointAfter(cast(V), Builder.GetInsertBlock())); V = expandCodeFor(SE.getTruncateExpr(SE.getUnknown(V), Ty), nullptr, &*NewInsertPt); return V;