Lines Matching refs:Q

140                           unsigned OpcToExpand, const Query &Q,  in ExpandBinOp()  argument
153 if (Value *L = SimplifyBinOp(Opcode, A, C, Q, MaxRecurse)) in ExpandBinOp()
154 if (Value *R = SimplifyBinOp(Opcode, B, C, Q, MaxRecurse)) { in ExpandBinOp()
163 if (Value *V = SimplifyBinOp(OpcodeToExpand, L, R, Q, MaxRecurse)) { in ExpandBinOp()
176 if (Value *L = SimplifyBinOp(Opcode, A, B, Q, MaxRecurse)) in ExpandBinOp()
177 if (Value *R = SimplifyBinOp(Opcode, A, C, Q, MaxRecurse)) { in ExpandBinOp()
186 if (Value *V = SimplifyBinOp(OpcodeToExpand, L, R, Q, MaxRecurse)) { in ExpandBinOp()
199 const Query &Q, unsigned MaxRecurse) { in SimplifyAssociativeBinOp() argument
217 if (Value *V = SimplifyBinOp(Opcode, B, C, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
222 if (Value *W = SimplifyBinOp(Opcode, A, V, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
236 if (Value *V = SimplifyBinOp(Opcode, A, B, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
241 if (Value *W = SimplifyBinOp(Opcode, V, C, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
259 if (Value *V = SimplifyBinOp(Opcode, C, A, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
264 if (Value *W = SimplifyBinOp(Opcode, V, B, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
278 if (Value *V = SimplifyBinOp(Opcode, C, A, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
283 if (Value *W = SimplifyBinOp(Opcode, B, V, Q, MaxRecurse)) { in SimplifyAssociativeBinOp()
298 const Query &Q, unsigned MaxRecurse) { in ThreadBinOpOverSelect() argument
315 TV = SimplifyBinOp(Opcode, SI->getTrueValue(), RHS, Q, MaxRecurse); in ThreadBinOpOverSelect()
316 FV = SimplifyBinOp(Opcode, SI->getFalseValue(), RHS, Q, MaxRecurse); in ThreadBinOpOverSelect()
318 TV = SimplifyBinOp(Opcode, LHS, SI->getTrueValue(), Q, MaxRecurse); in ThreadBinOpOverSelect()
319 FV = SimplifyBinOp(Opcode, LHS, SI->getFalseValue(), Q, MaxRecurse); in ThreadBinOpOverSelect()
370 Value *RHS, const Query &Q, in ThreadCmpOverSelect() argument
389 Value *TCmp = SimplifyCmpInst(Pred, TV, RHS, Q, MaxRecurse); in ThreadCmpOverSelect()
403 Value *FCmp = SimplifyCmpInst(Pred, FV, RHS, Q, MaxRecurse); in ThreadCmpOverSelect()
429 if (Value *V = SimplifyAndInst(Cond, TCmp, Q, MaxRecurse)) in ThreadCmpOverSelect()
434 if (Value *V = SimplifyOrInst(Cond, FCmp, Q, MaxRecurse)) in ThreadCmpOverSelect()
441 Q, MaxRecurse)) in ThreadCmpOverSelect()
452 const Query &Q, unsigned MaxRecurse) { in ThreadBinOpOverPHI() argument
461 if (!ValueDominatesPHI(RHS, PI, Q.DT)) in ThreadBinOpOverPHI()
467 if (!ValueDominatesPHI(LHS, PI, Q.DT)) in ThreadBinOpOverPHI()
477 SimplifyBinOp(Opcode, Incoming, RHS, Q, MaxRecurse) : in ThreadBinOpOverPHI()
478 SimplifyBinOp(Opcode, LHS, Incoming, Q, MaxRecurse); in ThreadBinOpOverPHI()
494 const Query &Q, unsigned MaxRecurse) { in ThreadCmpOverPHI() argument
508 if (!ValueDominatesPHI(RHS, PI, Q.DT)) in ThreadCmpOverPHI()
516 Value *V = SimplifyCmpInst(Pred, Incoming, RHS, Q, MaxRecurse); in ThreadCmpOverPHI()
530 const Query &Q, unsigned MaxRecurse) { in SimplifyAddInst() argument
535 Q.DL, Q.TLI); in SimplifyAddInst()
565 if (Value *V = SimplifyXorInst(Op0, Op1, Q, MaxRecurse-1)) in SimplifyAddInst()
569 if (Value *V = SimplifyAssociativeBinOp(Instruction::Add, Op0, Op1, Q, in SimplifyAddInst()
662 const Query &Q, unsigned MaxRecurse) { in SimplifySubInst() argument
667 Ops, Q.DL, Q.TLI); in SimplifySubInst()
692 if (Value *V = SimplifyBinOp(Instruction::Sub, Y, Z, Q, MaxRecurse-1)) in SimplifySubInst()
694 if (Value *W = SimplifyBinOp(Instruction::Add, X, V, Q, MaxRecurse-1)) { in SimplifySubInst()
700 if (Value *V = SimplifyBinOp(Instruction::Sub, X, Z, Q, MaxRecurse-1)) in SimplifySubInst()
702 if (Value *W = SimplifyBinOp(Instruction::Add, Y, V, Q, MaxRecurse-1)) { in SimplifySubInst()
714 if (Value *V = SimplifyBinOp(Instruction::Sub, X, Y, Q, MaxRecurse-1)) in SimplifySubInst()
716 if (Value *W = SimplifyBinOp(Instruction::Sub, V, Z, Q, MaxRecurse-1)) { in SimplifySubInst()
722 if (Value *V = SimplifyBinOp(Instruction::Sub, X, Z, Q, MaxRecurse-1)) in SimplifySubInst()
724 if (Value *W = SimplifyBinOp(Instruction::Sub, V, Y, Q, MaxRecurse-1)) { in SimplifySubInst()
736 if (Value *V = SimplifyBinOp(Instruction::Sub, Z, X, Q, MaxRecurse-1)) in SimplifySubInst()
738 if (Value *W = SimplifyBinOp(Instruction::Add, V, Y, Q, MaxRecurse-1)) { in SimplifySubInst()
749 if (Value *V = SimplifyBinOp(Instruction::Sub, X, Y, Q, MaxRecurse-1)) in SimplifySubInst()
751 if (Value *W = SimplifyTruncInst(V, Op0->getType(), Q, MaxRecurse-1)) in SimplifySubInst()
758 if (Constant *Result = computePointerDifference(Q.DL, X, Y)) in SimplifySubInst()
763 if (Value *V = SimplifyXorInst(Op0, Op1, Q, MaxRecurse-1)) in SimplifySubInst()
789 const Query &Q, unsigned MaxRecurse) { in SimplifyFAddInst() argument
794 Ops, Q.DL, Q.TLI); in SimplifyFAddInst()
831 const Query &Q, unsigned MaxRecurse) { in SimplifyFSubInst() argument
836 Ops, Q.DL, Q.TLI); in SimplifyFSubInst()
868 const Query &Q, in SimplifyFMulInst() argument
874 Ops, Q.DL, Q.TLI); in SimplifyFMulInst()
894 static Value *SimplifyMulInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyMulInst() argument
900 Ops, Q.DL, Q.TLI); in SimplifyMulInst()
927 if (Value *V = SimplifyAndInst(Op0, Op1, Q, MaxRecurse-1)) in SimplifyMulInst()
931 if (Value *V = SimplifyAssociativeBinOp(Instruction::Mul, Op0, Op1, Q, in SimplifyMulInst()
937 Q, MaxRecurse)) in SimplifyMulInst()
943 if (Value *V = ThreadBinOpOverSelect(Instruction::Mul, Op0, Op1, Q, in SimplifyMulInst()
950 if (Value *V = ThreadBinOpOverPHI(Instruction::Mul, Op0, Op1, Q, in SimplifyMulInst()
995 const Query &Q, unsigned MaxRecurse) { in SimplifyDiv() argument
999 return ConstantFoldInstOperands(Opcode, C0->getType(), Ops, Q.DL, Q.TLI); in SimplifyDiv()
1066 if (Value *V = ThreadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyDiv()
1072 if (Value *V = ThreadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyDiv()
1080 static Value *SimplifySDivInst(Value *Op0, Value *Op1, const Query &Q, in SimplifySDivInst() argument
1082 if (Value *V = SimplifyDiv(Instruction::SDiv, Op0, Op1, Q, MaxRecurse)) in SimplifySDivInst()
1098 static Value *SimplifyUDivInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyUDivInst() argument
1100 if (Value *V = SimplifyDiv(Instruction::UDiv, Op0, Op1, Q, MaxRecurse)) in SimplifyUDivInst()
1115 const Query &Q, unsigned) { in SimplifyFDivInst() argument
1160 const Query &Q, unsigned MaxRecurse) { in SimplifyRem() argument
1164 return ConstantFoldInstOperands(Opcode, C0->getType(), Ops, Q.DL, Q.TLI); in SimplifyRem()
1206 if (Value *V = ThreadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyRem()
1212 if (Value *V = ThreadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyRem()
1220 static Value *SimplifySRemInst(Value *Op0, Value *Op1, const Query &Q, in SimplifySRemInst() argument
1222 if (Value *V = SimplifyRem(Instruction::SRem, Op0, Op1, Q, MaxRecurse)) in SimplifySRemInst()
1238 static Value *SimplifyURemInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyURemInst() argument
1240 if (Value *V = SimplifyRem(Instruction::URem, Op0, Op1, Q, MaxRecurse)) in SimplifyURemInst()
1312 const Query &Q, unsigned MaxRecurse) { in SimplifyShift() argument
1316 return ConstantFoldInstOperands(Opcode, C0->getType(), Ops, Q.DL, Q.TLI); in SimplifyShift()
1335 if (Value *V = ThreadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyShift()
1341 if (Value *V = ThreadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyShift()
1350 bool isExact, const Query &Q, in SimplifyRightShift() argument
1352 if (Value *V = SimplifyShift(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyRightShift()
1369 computeKnownBits(Op0, Op0KnownZero, Op0KnownOne, Q.DL, /*Depth=*/0, Q.AC, in SimplifyRightShift()
1370 Q.CxtI, Q.DT); in SimplifyRightShift()
1381 const Query &Q, unsigned MaxRecurse) { in SimplifyShlInst() argument
1382 if (Value *V = SimplifyShift(Instruction::Shl, Op0, Op1, Q, MaxRecurse)) in SimplifyShlInst()
1408 const Query &Q, unsigned MaxRecurse) { in SimplifyLShrInst() argument
1409 if (Value *V = SimplifyRightShift(Instruction::LShr, Op0, Op1, isExact, Q, in SimplifyLShrInst()
1433 const Query &Q, unsigned MaxRecurse) { in SimplifyAShrInst() argument
1434 if (Value *V = SimplifyRightShift(Instruction::AShr, Op0, Op1, isExact, Q, in SimplifyAShrInst()
1448 unsigned NumSignBits = ComputeNumSignBits(Op0, Q.DL, 0, Q.AC, Q.CxtI, Q.DT); in SimplifyAShrInst()
1559 static Value *SimplifyAndInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyAndInst() argument
1565 Ops, Q.DL, Q.TLI); in SimplifyAndInst()
1607 if (isKnownToBeAPowerOfTwo(Op0, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, in SimplifyAndInst()
1608 Q.DT)) in SimplifyAndInst()
1610 if (isKnownToBeAPowerOfTwo(Op1, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, in SimplifyAndInst()
1611 Q.DT)) in SimplifyAndInst()
1625 if (Value *V = SimplifyAssociativeBinOp(Instruction::And, Op0, Op1, Q, in SimplifyAndInst()
1631 Q, MaxRecurse)) in SimplifyAndInst()
1636 Q, MaxRecurse)) in SimplifyAndInst()
1642 if (Value *V = ThreadBinOpOverSelect(Instruction::And, Op0, Op1, Q, in SimplifyAndInst()
1649 if (Value *V = ThreadBinOpOverPHI(Instruction::And, Op0, Op1, Q, in SimplifyAndInst()
1718 static Value *SimplifyOrInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyOrInst() argument
1724 Ops, Q.DL, Q.TLI); in SimplifyOrInst()
1783 if (Value *V = SimplifyAssociativeBinOp(Instruction::Or, Op0, Op1, Q, in SimplifyOrInst()
1788 if (Value *V = ExpandBinOp(Instruction::Or, Op0, Op1, Instruction::And, Q, in SimplifyOrInst()
1795 if (Value *V = ThreadBinOpOverSelect(Instruction::Or, Op0, Op1, Q, in SimplifyOrInst()
1815 MaskedValueIsZero(V2, C2->getValue(), Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyOrInst()
1818 MaskedValueIsZero(V1, C2->getValue(), Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyOrInst()
1826 MaskedValueIsZero(V2, C1->getValue(), Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyOrInst()
1829 MaskedValueIsZero(V1, C1->getValue(), Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyOrInst()
1838 if (Value *V = ThreadBinOpOverPHI(Instruction::Or, Op0, Op1, Q, MaxRecurse)) in SimplifyOrInst()
1854 static Value *SimplifyXorInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyXorInst() argument
1860 Ops, Q.DL, Q.TLI); in SimplifyXorInst()
1885 if (Value *V = SimplifyAssociativeBinOp(Instruction::Xor, Op0, Op1, Q, in SimplifyXorInst()
2133 const Query &Q, unsigned MaxRecurse) { in SimplifyICmpInst() argument
2139 return ConstantFoldCompareInstOperands(Pred, CLHS, CRHS, Q.DL, Q.TLI); in SimplifyICmpInst()
2178 if (isImpliedCondition(RHS, LHS, Q.DL)) in SimplifyICmpInst()
2189 if (isImpliedCondition(LHS, RHS, Q.DL)) in SimplifyICmpInst()
2203 if (isImpliedCondition(LHS, RHS, Q.DL)) in SimplifyICmpInst()
2220 if (isKnownNonZero(LHS, Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyICmpInst()
2225 if (isKnownNonZero(LHS, Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyICmpInst()
2229 ComputeSignBit(LHS, LHSKnownNonNegative, LHSKnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2230 Q.CxtI, Q.DT); in SimplifyICmpInst()
2237 ComputeSignBit(LHS, LHSKnownNonNegative, LHSKnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2238 Q.CxtI, Q.DT); in SimplifyICmpInst()
2242 isKnownNonZero(LHS, Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyICmpInst()
2246 ComputeSignBit(LHS, LHSKnownNonNegative, LHSKnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2247 Q.CxtI, Q.DT); in SimplifyICmpInst()
2254 ComputeSignBit(LHS, LHSKnownNonNegative, LHSKnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2255 Q.CxtI, Q.DT); in SimplifyICmpInst()
2259 isKnownNonZero(LHS, Q.DL, 0, Q.AC, Q.CxtI, Q.DT)) in SimplifyICmpInst()
2433 Q.DL.getTypeSizeInBits(SrcTy) == DstTy->getPrimitiveSizeInBits()) { in SimplifyICmpInst()
2438 Q, MaxRecurse-1)) in SimplifyICmpInst()
2444 Q, MaxRecurse-1)) in SimplifyICmpInst()
2456 SrcOp, RI->getOperand(0), Q, in SimplifyICmpInst()
2472 SrcOp, Trunc, Q, MaxRecurse-1)) in SimplifyICmpInst()
2516 Q, MaxRecurse-1)) in SimplifyICmpInst()
2530 if (Value *V = SimplifyICmpInst(Pred, SrcOp, Trunc, Q, MaxRecurse-1)) in SimplifyICmpInst()
2564 Q, MaxRecurse-1)) in SimplifyICmpInst()
2573 Q, MaxRecurse-1)) in SimplifyICmpInst()
2584 isKnownNonEqual(LHS, RHS, Q.DL, Q.AC, Q.CxtI, Q.DT)) { in SimplifyICmpInst()
2615 Q, MaxRecurse-1)) in SimplifyICmpInst()
2622 C == LHS ? D : C, Q, MaxRecurse-1)) in SimplifyICmpInst()
2648 if (Value *V = SimplifyICmpInst(Pred, Y, Z, Q, MaxRecurse-1)) in SimplifyICmpInst()
2717 ComputeSignBit(RHS, KnownNonNegative, KnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2718 Q.CxtI, Q.DT); in SimplifyICmpInst()
2728 ComputeSignBit(RHS, KnownNonNegative, KnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2729 Q.CxtI, Q.DT); in SimplifyICmpInst()
2748 ComputeSignBit(LHS, KnownNonNegative, KnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2749 Q.CxtI, Q.DT); in SimplifyICmpInst()
2759 ComputeSignBit(LHS, KnownNonNegative, KnownNegative, Q.DL, 0, Q.AC, in SimplifyICmpInst()
2760 Q.CxtI, Q.DT); in SimplifyICmpInst()
2829 RBO->getOperand(0), Q, MaxRecurse-1)) in SimplifyICmpInst()
2840 RBO->getOperand(0), Q, MaxRecurse-1)) in SimplifyICmpInst()
2894 if (Value *V = SimplifyICmpInst(EqP, A, B, Q, MaxRecurse-1)) in SimplifyICmpInst()
2908 if (Value *V = SimplifyICmpInst(InvEqP, A, B, Q, MaxRecurse-1)) in SimplifyICmpInst()
2964 if (Value *V = SimplifyICmpInst(EqP, A, B, Q, MaxRecurse-1)) in SimplifyICmpInst()
2978 if (Value *V = SimplifyICmpInst(InvEqP, A, B, Q, MaxRecurse-1)) in SimplifyICmpInst()
3038 if (Constant *C = computePointerICmp(Q.DL, Q.TLI, Pred, LHS, RHS)) in SimplifyICmpInst()
3071 computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, Q.DL, /*Depth=*/0, Q.AC, in SimplifyICmpInst()
3072 Q.CxtI, Q.DT); in SimplifyICmpInst()
3084 if (Value *V = ThreadCmpOverSelect(Pred, LHS, RHS, Q, MaxRecurse)) in SimplifyICmpInst()
3090 if (Value *V = ThreadCmpOverPHI(Pred, LHS, RHS, Q, MaxRecurse)) in SimplifyICmpInst()
3108 FastMathFlags FMF, const Query &Q, in SimplifyFCmpInst() argument
3115 return ConstantFoldCompareInstOperands(Pred, CLHS, CRHS, Q.DL, Q.TLI); in SimplifyFCmpInst()
3209 if (Value *V = ThreadCmpOverSelect(Pred, LHS, RHS, Q, MaxRecurse)) in SimplifyFCmpInst()
3215 if (Value *V = ThreadCmpOverPHI(Pred, LHS, RHS, Q, MaxRecurse)) in SimplifyFCmpInst()
3233 const Query &Q, in SimplifyWithOpReplaced() argument
3260 return SimplifyBinOp(B->getOpcode(), RepOp, B->getOperand(1), Q, in SimplifyWithOpReplaced()
3263 return SimplifyBinOp(B->getOpcode(), B->getOperand(0), RepOp, Q, in SimplifyWithOpReplaced()
3272 return SimplifyCmpInst(C->getPredicate(), RepOp, C->getOperand(1), Q, in SimplifyWithOpReplaced()
3275 return SimplifyCmpInst(C->getPredicate(), C->getOperand(0), RepOp, Q, in SimplifyWithOpReplaced()
3300 ConstOps[1], Q.DL, Q.TLI); in SimplifyWithOpReplaced()
3304 return ConstantFoldLoadFromConstPtr(ConstOps[0], Q.DL); in SimplifyWithOpReplaced()
3307 Q.DL, Q.TLI); in SimplifyWithOpReplaced()
3317 Value *FalseVal, const Query &Q, in SimplifySelectInst() argument
3343 unsigned BitWidth = Q.DL.getTypeSizeInBits(TrueVal->getType()); in SimplifySelectInst()
3416 if (SimplifyWithOpReplaced(FalseVal, CmpLHS, CmpRHS, Q, MaxRecurse) == in SimplifySelectInst()
3418 SimplifyWithOpReplaced(FalseVal, CmpRHS, CmpLHS, Q, MaxRecurse) == in SimplifySelectInst()
3421 if (SimplifyWithOpReplaced(TrueVal, CmpLHS, CmpRHS, Q, MaxRecurse) == in SimplifySelectInst()
3423 SimplifyWithOpReplaced(TrueVal, CmpRHS, CmpLHS, Q, MaxRecurse) == in SimplifySelectInst()
3427 if (SimplifyWithOpReplaced(TrueVal, CmpLHS, CmpRHS, Q, MaxRecurse) == in SimplifySelectInst()
3429 SimplifyWithOpReplaced(TrueVal, CmpRHS, CmpLHS, Q, MaxRecurse) == in SimplifySelectInst()
3432 if (SimplifyWithOpReplaced(FalseVal, CmpLHS, CmpRHS, Q, MaxRecurse) == in SimplifySelectInst()
3434 SimplifyWithOpReplaced(FalseVal, CmpRHS, CmpLHS, Q, MaxRecurse) == in SimplifySelectInst()
3455 const Query &Q, unsigned) { in SimplifyGEPInst() argument
3482 uint64_t TyAllocSize = Q.DL.getTypeAllocSize(Ty); in SimplifyGEPInst()
3490 Q.DL.getPointerSizeInBits(AS)) { in SimplifyGEPInst()
3548 ArrayRef<unsigned> Idxs, const Query &Q, in SimplifyInsertValueInst() argument
3650 static Value *SimplifyPHINode(PHINode *PN, const Query &Q) { in SimplifyPHINode() argument
3677 return ValueDominatesPHI(CommonValue, PN, Q.DT) ? CommonValue : nullptr; in SimplifyPHINode()
3682 static Value *SimplifyTruncInst(Value *Op, Type *Ty, const Query &Q, unsigned) { in SimplifyTruncInst() argument
3684 return ConstantFoldInstOperands(Instruction::Trunc, Ty, C, Q.DL, Q.TLI); in SimplifyTruncInst()
3702 const Query &Q, unsigned MaxRecurse) { in SimplifyBinOp() argument
3706 Q, MaxRecurse); in SimplifyBinOp()
3708 return SimplifyFAddInst(LHS, RHS, FastMathFlags(), Q, MaxRecurse); in SimplifyBinOp()
3712 Q, MaxRecurse); in SimplifyBinOp()
3714 return SimplifyFSubInst(LHS, RHS, FastMathFlags(), Q, MaxRecurse); in SimplifyBinOp()
3716 case Instruction::Mul: return SimplifyMulInst (LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3718 return SimplifyFMulInst (LHS, RHS, FastMathFlags(), Q, MaxRecurse); in SimplifyBinOp()
3719 case Instruction::SDiv: return SimplifySDivInst(LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3720 case Instruction::UDiv: return SimplifyUDivInst(LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3722 return SimplifyFDivInst(LHS, RHS, FastMathFlags(), Q, MaxRecurse); in SimplifyBinOp()
3723 case Instruction::SRem: return SimplifySRemInst(LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3724 case Instruction::URem: return SimplifyURemInst(LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3726 return SimplifyFRemInst(LHS, RHS, FastMathFlags(), Q, MaxRecurse); in SimplifyBinOp()
3729 Q, MaxRecurse); in SimplifyBinOp()
3731 return SimplifyLShrInst(LHS, RHS, /*isExact*/false, Q, MaxRecurse); in SimplifyBinOp()
3733 return SimplifyAShrInst(LHS, RHS, /*isExact*/false, Q, MaxRecurse); in SimplifyBinOp()
3734 case Instruction::And: return SimplifyAndInst(LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3735 case Instruction::Or: return SimplifyOrInst (LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3736 case Instruction::Xor: return SimplifyXorInst(LHS, RHS, Q, MaxRecurse); in SimplifyBinOp()
3741 return ConstantFoldInstOperands(Opcode, LHS->getType(), COps, Q.DL, in SimplifyBinOp()
3742 Q.TLI); in SimplifyBinOp()
3747 if (Value *V = SimplifyAssociativeBinOp(Opcode, LHS, RHS, Q, MaxRecurse)) in SimplifyBinOp()
3753 if (Value *V = ThreadBinOpOverSelect(Opcode, LHS, RHS, Q, MaxRecurse)) in SimplifyBinOp()
3759 if (Value *V = ThreadBinOpOverPHI(Opcode, LHS, RHS, Q, MaxRecurse)) in SimplifyBinOp()
3771 const FastMathFlags &FMF, const Query &Q, in SimplifyFPBinOp() argument
3775 return SimplifyFAddInst(LHS, RHS, FMF, Q, MaxRecurse); in SimplifyFPBinOp()
3777 return SimplifyFSubInst(LHS, RHS, FMF, Q, MaxRecurse); in SimplifyFPBinOp()
3779 return SimplifyFMulInst(LHS, RHS, FMF, Q, MaxRecurse); in SimplifyFPBinOp()
3781 return SimplifyBinOp(Opcode, LHS, RHS, Q, MaxRecurse); in SimplifyFPBinOp()
3805 const Query &Q, unsigned MaxRecurse) { in SimplifyCmpInst() argument
3807 return SimplifyICmpInst(Predicate, LHS, RHS, Q, MaxRecurse); in SimplifyCmpInst()
3808 return SimplifyFCmpInst(Predicate, LHS, RHS, FastMathFlags(), Q, MaxRecurse); in SimplifyCmpInst()
3837 const Query &Q, unsigned MaxRecurse) { in SimplifyIntrinsic() argument
3892 const Query &Q, unsigned MaxRecurse) { in SimplifyCall() argument
3907 if (Value *Ret = SimplifyIntrinsic(F, ArgBegin, ArgEnd, Q, MaxRecurse)) in SimplifyCall()
3922 return ConstantFoldCall(F, ConstantArgs, Q.TLI); in SimplifyCall()