Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:BinaryOperator

913 Instruction *InstCombiner::visitAdd(BinaryOperator &I) {
929 return BinaryOperator::CreateXor(LHS, RHS);
964 return BinaryOperator::CreateAShr(NewShl, ShAmt);
975 return BinaryOperator::CreateSub(ConstantExpr::getAdd(XorRHS, CI),
981 return BinaryOperator::CreateAdd(XorLHS,
991 return BinaryOperator::CreateXor(LHS, RHS);
995 BinaryOperator *New =
996 BinaryOperator::CreateShl(LHS, ConstantInt::get(I.getType(), 1));
1008 return BinaryOperator::CreateNeg(NewAdd);
1011 return BinaryOperator::CreateSub(RHS, LHSV);
1017 return BinaryOperator::CreateSub(LHS, V);
1023 return BinaryOperator::CreateMul(RHS, AddOne(C2));
1028 return BinaryOperator::CreateMul(X, ConstantExpr::getAdd(C1, C2));
1033 return BinaryOperator::CreateMul(LHS, AddOne(C2));
1047 return BinaryOperator::CreateOr(LHS, RHS);
1069 return BinaryOperator::CreateMul(W, NewAdd);
1077 return BinaryOperator::CreateSub(SubOne(CRHS), X);
1096 return BinaryOperator::CreateAnd(NewAdd, C2);
1171 return BinaryOperator::CreateOr(A, B);
1176 return BinaryOperator::CreateOr(A, B);
1182 Instruction *InstCombiner::visitFAdd(BinaryOperator &I) {
1202 return BinaryOperator::CreateFSub(RHS, LHSV);
1207 return BinaryOperator::CreateFSub(LHS, V);
1352 Instruction *InstCombiner::visitSub(BinaryOperator &I) {
1365 BinaryOperator *Res = BinaryOperator::CreateAdd(Op0, V);
1372 return BinaryOperator::CreateXor(Op0, Op1);
1376 return BinaryOperator::CreateNot(Op1);
1382 return BinaryOperator::CreateAdd(X, AddOne(C));
1391 return BinaryOperator::CreateAShr(X, CI);
1396 return BinaryOperator::CreateLShr(X, CI);
1407 return BinaryOperator::CreateSub(ConstantExpr::getSub(C, C2), X);
1428 return BinaryOperator::CreateNeg(Y);
1432 return BinaryOperator::CreateNeg(Y);
1442 return BinaryOperator::CreateAdd(Op0,
1449 return BinaryOperator::CreateAnd(Op0,
1455 return BinaryOperator::CreateSDiv(X, ConstantExpr::getNeg(C));
1460 return BinaryOperator::CreateShl(XNeg, Y);
1465 return BinaryOperator::CreateMul(Op0, CP1);
1472 return BinaryOperator::CreateMul(Op0, C);
1480 return BinaryOperator::CreateAdd(Op0, Builder->CreateMul(A, B));
1487 return BinaryOperator::CreateAdd(Op0, NewMul);
1494 return BinaryOperator::CreateMul(Op1, SubOne(C1));
1498 return BinaryOperator::CreateMul(X, ConstantExpr::getSub(C1, C2));
1520 Instruction *InstCombiner::visitFSub(BinaryOperator &I) {
1534 Instruction *NewI = BinaryOperator::CreateFAdd(Op0, V);
1541 Instruction *NewI = BinaryOperator::CreateFAdd(Op0, NewTrunc);
1548 Instruction *NewI = BinaryOperator::CreateFAdd(Op0, NewExt);