Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:IE

159     } else if (InsertElementInst *IE = dyn_cast<InsertElementInst>(I)) {
161 if (IE->getOperand(2) == EI.getOperand(1))
162 return ReplaceInstUsesWith(EI, IE->getOperand(1));
165 if (isa<Constant>(IE->getOperand(2)) && isa<Constant>(EI.getOperand(1))) {
167 EI.setOperand(0, IE->getOperand(0));
354 Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) {
355 Value *VecOp = IE.getOperand(0);
356 Value *ScalarOp = IE.getOperand(1);
357 Value *IdxOp = IE.getOperand(2);
361 ReplaceInstUsesWith(IE, VecOp);
367 EI->getOperand(0)->getType() == IE.getType()) {
368 unsigned NumVectorElts = IE.getType()->getNumElements();
374 return ReplaceInstUsesWith(IE, VecOp);
377 return ReplaceInstUsesWith(IE, UndefValue::get(IE.getType()));
382 return ReplaceInstUsesWith(IE, VecOp);
386 if (!IE.hasOneUse() || !isa<InsertElementInst>(IE
389 Value *LHS = CollectShuffleElements(&IE, Mask, RHS);
400 if (Value *V = SimplifyDemandedVectorElts(&IE, AllOnesEltMask, UndefElts)) {
401 if (V != &IE)
402 return ReplaceInstUsesWith(IE, V);
403 return &IE;