Lines Matching refs:BinaryOperator
47 if (BinaryOperator *I = dyn_cast<BinaryOperator>(V)) in simplifyValueKnownNonZero()
99 Instruction *InstCombiner::visitMul(BinaryOperator &I) { in visitMul()
110 return BinaryOperator::CreateNeg(Op0, I.getName()); in visitMul()
115 if (BinaryOperator *SI = dyn_cast<BinaryOperator>(Op0)) in visitMul()
118 return BinaryOperator::CreateMul(SI->getOperand(0), in visitMul()
124 BinaryOperator *Shl = BinaryOperator::CreateShl(Op0, NewCst); in visitMul()
135 return BinaryOperator::CreateAdd(Add, Builder->CreateMul(C1, CI)); in visitMul()
156 BinaryOperator::CreateMul(Sub, in visitMul()
177 return BinaryOperator::CreateMul(Op0v, Op1v); in visitMul()
183 BinaryOperator *BO = dyn_cast<BinaryOperator>(Op0); in visitMul()
188 BO = dyn_cast<BinaryOperator>(Op1); in visitMul()
202 return BinaryOperator::CreateNeg(Op0BO); in visitMul()
213 return BinaryOperator::CreateSub(Op0BO, Rem); in visitMul()
214 return BinaryOperator::CreateSub(Rem, Op0BO); in visitMul()
220 return BinaryOperator::CreateAnd(Op0, Op1); in visitMul()
227 return BinaryOperator::CreateShl(Op1, Y); in visitMul()
229 return BinaryOperator::CreateShl(Op0, Y); in visitMul()
248 return BinaryOperator::CreateAnd(V, OtherOp); in visitMul()
255 Instruction *InstCombiner::visitFMul(BinaryOperator &I) { in visitFMul()
285 return BinaryOperator::CreateFMul(Op0v, Op1v); in visitFMul()
292 bool InstCombiner::SimplifyDivRemOfSelect(BinaryOperator &I) { in SimplifyDivRemOfSelect()
366 Instruction *InstCombiner::commonIDivTransforms(BinaryOperator &I) { in commonIDivTransforms()
388 return BinaryOperator::Create(I.getOpcode(), LHS->getOperand(0), in commonIDivTransforms()
412 return BinaryOperator::Create(I.getOpcode(), X, Op1); in commonIDivTransforms()
431 Instruction *InstCombiner::visitUDiv(BinaryOperator &I) { in visitUDiv()
447 BinaryOperator *LShr = in visitUDiv()
448 BinaryOperator::CreateLShr(Op0, in visitUDiv()
471 return BinaryOperator::CreateExactLShr(Op0, N); in visitUDiv()
472 return BinaryOperator::CreateLShr(Op0, N); in visitUDiv()
503 Instruction *InstCombiner::visitSDiv(BinaryOperator &I) { in visitSDiv()
516 return BinaryOperator::CreateNeg(Op0); in visitSDiv()
523 return BinaryOperator::CreateExactAShr(Op0, ShAmt, I.getName()); in visitSDiv()
529 return BinaryOperator::CreateSDiv(Sub->getOperand(1), in visitSDiv()
540 return BinaryOperator::CreateUDiv(Op0, Op1, I.getName()); in visitSDiv()
548 return BinaryOperator::CreateUDiv(Op0, Op1, I.getName()); in visitSDiv()
556 Instruction *InstCombiner::visitFDiv(BinaryOperator &I) { in visitFDiv()
570 return BinaryOperator::CreateFMul(Op0, RFP); in visitFDiv()
581 Instruction *InstCombiner::commonIRemTransforms(BinaryOperator &I) { in commonIRemTransforms()
613 Instruction *InstCombiner::visitURem(BinaryOperator &I) { in visitURem()
625 return BinaryOperator::CreateAnd(Op0, in visitURem()
633 return BinaryOperator::CreateAnd(Op0, Add); in visitURem()
656 Instruction *InstCombiner::visitSRem(BinaryOperator &I) { in visitSRem()
682 return BinaryOperator::CreateURem(Op0, Op1, I.getName()); in visitSRem()
727 Instruction *InstCombiner::visitFRem(BinaryOperator &I) { in visitFRem()