Lines Matching defs:EV
3403 InstCombinerImpl::foldExtractOfOverflowIntrinsic(ExtractValueInst &EV) {
3404 auto *WO = dyn_cast<WithOverflowInst>(EV.getAggregateOperand());
3411 if (*EV.idx_begin() == 0 && (OvID == Intrinsic::smul_with_overflow ||
3433 if (*EV.idx_begin() == 0) {
3442 assert(*EV.idx_begin() == 1 && "Unexpected extract index for overflow inst");
3477 Instruction *InstCombinerImpl::visitExtractValueInst(ExtractValueInst &EV) {
3478 Value *Agg = EV.getAggregateOperand();
3480 if (!EV.hasIndices())
3481 return replaceInstUsesWith(EV, Agg);
3483 if (Value *V = simplifyExtractValueInst(Agg, EV.getIndices(),
3484 SQ.getWithInstruction(&EV)))
3485 return replaceInstUsesWith(EV, V);
3490 for (exti = EV.idx_begin(), insi = IV->idx_begin(),
3491 exte = EV.idx_end(), inse = IV->idx_end();
3504 EV.getIndices());
3511 return replaceInstUsesWith(EV, IV->getInsertedValueOperand());
3522 EV.getIndices());
3539 if (Instruction *R = foldExtractOfOverflowIntrinsic(EV))
3558 for (unsigned Idx : EV.indices())
3566 Instruction *NL = Builder.CreateLoad(EV.getType(), GEP);
3572 return replaceInstUsesWith(EV, NL);
3577 if (Instruction *Res = foldOpIntoPhi(EV, PN))