Index: lib/Transforms/Vectorize/LoopVectorize.cpp =================================================================== --- lib/Transforms/Vectorize/LoopVectorize.cpp +++ lib/Transforms/Vectorize/LoopVectorize.cpp @@ -1144,17 +1144,20 @@ static void emitMissedWarning(Function *F, Loop *L, const LoopVectorizeHints &LH) { + DebugLoc DL = L->getStartLoc(); + if (!DL) + return; emitOptimizationRemarkMissed(F->getContext(), DEBUG_TYPE, *F, - L->getStartLoc(), LH.emitRemark()); + DL, LH.emitRemark()); if (LH.getForce() == LoopVectorizeHints::FK_Enabled) { if (LH.getWidth() != 1) emitLoopVectorizeWarning( - F->getContext(), *F, L->getStartLoc(), + F->getContext(), *F, DL, "failed explicitly specified loop vectorization"); else if (LH.getInterleave() != 1) emitLoopInterleaveWarning( - F->getContext(), *F, L->getStartLoc(), + F->getContext(), *F, DL, "failed explicitly specified loop interleaving"); } }