Home | History | Annotate | Download | only in InstCombine

Lines Matching full:getoperand

23   assert(I.getOperand(1)->getType() == I.getOperand(0)->getType());
24 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
92 if (MaskedValueIsZero(I->getOperand(0),
95 return CanEvaluateTruncated(I->getOperand(0), Ty);
112 return CanEvaluateShifted(I->getOperand(0), NumBits, isLeftShift, IC) &&
113 CanEvaluateShifted(I->getOperand(1), NumBits, isLeftShift, IC);
117 CI = dyn_cast<ConstantInt>(I->getOperand(1));
132 if (MaskedValueIsZero(I->getOperand(0),
141 CI = dyn_cast<ConstantInt>(I->getOperand(1));
156 if (MaskedValueIsZero(I->getOperand(0),
207 I->setOperand(0, GetShiftedValue(I->getOperand(0), NumBits,isLeftShift,IC));
208 I->setOperand(1, GetShiftedValue(I->getOperand(1), NumBits,isLeftShift,IC));
216 ConstantInt *CI = cast<ConstantInt>(BO->getOperand(1));
235 V = IC.Builder->CreateAnd(BO->getOperand(0),
257 ConstantInt *CI = cast<ConstantInt>(BO->getOperand(1));
275 V = IC.Builder->CreateAnd(I->getOperand(0),
294 I->setOperand(1, GetShiftedValue(I->getOperand(1), NumBits,isLeftShift,IC));
295 I->setOperand(2, GetShiftedValue(I->getOperand(2), NumBits,isLeftShift,IC));
347 if (Constant *BOOp = dyn_cast<Constant>(BO->getOperand(1)))
348 return BinaryOperator::CreateMul(BO->getOperand(0),
361 Instruction *TrOp = dyn_cast<Instruction>(TI->getOperand(0));
368 isa<ConstantInt>(TrOp->getOperand(1))) {
416 if (isLeftShift && Op0BO->getOperand(1)->hasOneUse() &&
417 match(Op0BO->getOperand(1), m_Shr(m_Value(V1),
420 Builder->CreateShl(Op0BO->getOperand(0), Op1, Op0BO->getName());
423 Op0BO->getOperand(1)->getName());
430 Value *Op0BOOp1 = Op0BO->getOperand(1);
436 Builder->CreateShl(Op0BO->getOperand(0), Op1,
448 if (isLeftShift && Op0BO->getOperand(0)->hasOneUse() &&
449 match(Op0BO->getOperand(0), m_Shr(m_Value(V1),
452 Builder->CreateShl(Op0BO->getOperand(1), Op1, Op0BO->getName());
455 Op0BO->getOperand(0)->getName());
462 if (isLeftShift && Op0BO->getOperand(0)->hasOneUse() &&
463 match(Op0BO->getOperand(0),
467 Builder->CreateShl(Op0BO->getOperand(1), Op1, Op0BO->getName());
482 if (ConstantInt *Op0C = dyn_cast<ConstantInt>(Op0BO->getOperand(1))) {
513 Builder->CreateBinOp(I.getOpcode(), Op0BO->getOperand(0), Op1);
528 if (ShiftOp && isa<ConstantInt>(ShiftOp->getOperand(1))) {
542 ConstantInt *ShiftAmt1C = cast<ConstantInt>(ShiftOp->getOperand(1));
547 Value *X = ShiftOp->getOperand(0);
678 if (Value *V = SimplifyShlInst(I.getOperand(0), I.getOperand(1),
686 if (ConstantInt *Op1C = dyn_cast<ConstantInt>(I.getOperand(1))) {
691 MaskedValueIsZero(I.getOperand(0),
699 ComputeNumSignBits(I.getOperand(0)) > ShAmt) {
708 if (match(I.getOperand(0), m_OneUse(m_Shl(m_Constant(C1), m_Value(A)))) &&
709 match(I.getOperand(1), m_Constant(C2)))
716 if (Value *V = SimplifyLShrInst(I.getOperand(0), I.getOperand(1),
723 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
756 if (Value *V = SimplifyAShrInst(I.getOperand(0), I.getOperand(1),
763 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
783 uint32_t SrcBits = ZI->getOperand(0)->getType()->getScalarSizeInBits();
786 return new SExtInst(ZI->getOperand(0), ZI->getType());