Index: lib/CodeGen/PeepholeOptimizer.cpp =================================================================== --- lib/CodeGen/PeepholeOptimizer.cpp +++ lib/CodeGen/PeepholeOptimizer.cpp @@ -1889,8 +1889,10 @@ assert(Def && "This method needs a valid definition"); assert( - (DefIdx < Def->getDesc().getNumDefs() || Def->getDesc().isVariadic()) && - Def->getOperand(DefIdx).isDef() && "Invalid DefIdx"); + (Def->getOperand(DefIdx).isDef() && + (DefIdx < Def->getDesc().getNumDefs() || Def->getDesc().isVariadic()) || + Def->getOperand(DefIdx).isImplicit()) && + "Invalid DefIdx"); if (Def->isCopy()) return getNextSourceFromCopy(); if (Def->isBitcast())