Lines Matching defs:EV
3987 InstCombinerImpl::foldExtractOfOverflowIntrinsic(ExtractValueInst &EV) {
3988 auto *WO = dyn_cast<WithOverflowInst>(EV.getAggregateOperand());
3995 if (*EV.idx_begin() == 0 && (OvID == Intrinsic::smul_with_overflow ||
4017 if (*EV.idx_begin() == 0) {
4026 assert(*EV.idx_begin() == 1 && "Unexpected extract index for overflow inst");
4072 Instruction *InstCombinerImpl::visitExtractValueInst(ExtractValueInst &EV) {
4073 Value *Agg = EV.getAggregateOperand();
4075 if (!EV.hasIndices())
4076 return replaceInstUsesWith(EV, Agg);
4078 if (Value *V = simplifyExtractValueInst(Agg, EV.getIndices(),
4079 SQ.getWithInstruction(&EV)))
4080 return replaceInstUsesWith(EV, V);
4085 for (exti = EV.idx_begin(), insi = IV->idx_begin(),
4086 exte = EV.idx_end(), inse = IV->idx_end();
4099 EV.getIndices());
4106 return replaceInstUsesWith(EV, IV->getInsertedValueOperand());
4117 EV.getIndices());
4134 if (Instruction *R = foldExtractOfOverflowIntrinsic(EV))
4153 for (unsigned Idx : EV.indices())
4161 Instruction *NL = Builder.CreateLoad(EV.getType(), GEP);
4167 return replaceInstUsesWith(EV, NL);
4172 if (Instruction *Res = foldOpIntoPhi(EV, PN))
4178 if (Instruction *R = FoldOpIntoSelect(EV, SI, /*FoldWithMultiUse=*/true))