Index: llvm/trunk/lib/Transforms/IPO/CalledValuePropagation.cpp =================================================================== --- llvm/trunk/lib/Transforms/IPO/CalledValuePropagation.cpp +++ llvm/trunk/lib/Transforms/IPO/CalledValuePropagation.cpp @@ -345,6 +345,9 @@ void visitInst(Instruction &I, DenseMap &ChangedValues, SparseSolver &SS) { + // Simply bail if this instruction has no user. + if (I.use_empty()) + return; auto RegI = CVPLatticeKey(&I, IPOGrouping::Register); ChangedValues[RegI] = getOverdefinedVal(); }