Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:BinaryOperator

126 static bool MaintainNoSignedWrap(BinaryOperator &I, Value *B, Value *C) {
180 bool InstCombiner::SimplifyAssociativeOrCommutative(BinaryOperator &I) {
192 BinaryOperator *Op0 = dyn_cast<BinaryOperator>(I.getOperand(0));
193 BinaryOperator *Op1 = dyn_cast<BinaryOperator>(I.getOperand(1));
210 (!Op0 || (isa<BinaryOperator>(Op0) && Op0->hasNoSignedWrap()))) {
300 BinaryOperator *New = BinaryOperator::Create(Opcode, A, B);
375 Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) {
377 BinaryOperator *Op0 = dyn_cast<BinaryOperator>(LHS);
378 BinaryOperator *Op1 = dyn_cast<BinaryOperator>(RHS);
495 if (BinaryOperator::isNeg(V))
496 return BinaryOperator::getNegArgument(V);
514 if (BinaryOperator::isFNeg(V))
515 return BinaryOperator::getFNegArgument(V);
548 if (BinaryOperator *BO = dyn_cast<BinaryOperator>(&I))
709 InV = Builder->CreateBinOp(cast<BinaryOperator>(I).getOpcode(),
1403 return BinaryOperator::CreateAdd(LHS, RHS);
1420 return BinaryOperator::CreateSub(LHS, RHS);
1429 return BinaryOperator::CreateMul(LHS, RHS);