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