Lines Matching refs:IE

214     } else if (InsertElementInst *IE = dyn_cast<InsertElementInst>(I)) {  in visitExtractElementInst()  local
216 if (IE->getOperand(2) == EI.getOperand(1)) in visitExtractElementInst()
217 return replaceInstUsesWith(EI, IE->getOperand(1)); in visitExtractElementInst()
220 if (isa<Constant>(IE->getOperand(2)) && isa<Constant>(EI.getOperand(1))) { in visitExtractElementInst()
222 EI.setOperand(0, IE->getOperand(0)); in visitExtractElementInst()
569 Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst() argument
570 Value *VecOp = IE.getOperand(0); in visitInsertElementInst()
571 Value *ScalarOp = IE.getOperand(1); in visitInsertElementInst()
572 Value *IdxOp = IE.getOperand(2); in visitInsertElementInst()
576 replaceInstUsesWith(IE, VecOp); in visitInsertElementInst()
582 unsigned NumInsertVectorElts = IE.getType()->getNumElements(); in visitInsertElementInst()
590 return replaceInstUsesWith(IE, VecOp); in visitInsertElementInst()
593 return replaceInstUsesWith(IE, UndefValue::get(IE.getType())); in visitInsertElementInst()
598 return replaceInstUsesWith(IE, VecOp); in visitInsertElementInst()
602 if (!IE.hasOneUse() || !isa<InsertElementInst>(IE.user_back())) { in visitInsertElementInst()
604 ShuffleOps LR = collectShuffleElements(&IE, Mask, nullptr, *this); in visitInsertElementInst()
608 if (LR.first != &IE && LR.second != &IE) { in visitInsertElementInst()
622 if (Value *V = SimplifyDemandedVectorElts(&IE, AllOnesEltMask, UndefElts)) { in visitInsertElementInst()
623 if (V != &IE) in visitInsertElementInst()
624 return replaceInstUsesWith(IE, V); in visitInsertElementInst()
625 return &IE; in visitInsertElementInst()