H A D | InstructionSimplify.cpp | 133 /// isSameCompare - Is V equivalent to the comparison "LHS Pred RHS"? in isSameCompare() argument 198 if (Value *V = simplifyAndInst(Cond, TCmp, Q, MaxRecurse)) handleOtherCmpSelSimplifications() local 203 if (Value *V = simplifyOrInst(Cond, FCmp, Q, MaxRecurse)) handleOtherCmpSelSimplifications() local 208 if (Value *V = simplifyXorInst( handleOtherCmpSelSimplifications() local 215 valueDominatesPHI(Value * V,PHINode * P,const DominatorTree * DT) valueDominatesPHI() argument 237 expandBinOp(Instruction::BinaryOps Opcode,Value * V,Value * OtherOp,Instruction::BinaryOps OpcodeToExpand,const SimplifyQuery & Q,unsigned MaxRecurse) expandBinOp() argument 280 if (Value *V = expandBinOp(Opcode, L, R, OpcodeToExpand, Q, MaxRecurse)) expandCommutativeBinOp() local 282 if (Value *V = expandBinOp(Opcode, R, L, OpcodeToExpand, Q, MaxRecurse)) expandCommutativeBinOp() local 309 if (Value *V = simplifyBinOp(Opcode, B, C, Q, MaxRecurse)) { simplifyAssociativeBinOp() local 329 if (Value *V = simplifyBinOp(Opcode, A, B, Q, MaxRecurse)) { simplifyAssociativeBinOp() local 353 if (Value *V = simplifyBinOp(Opcode, C, A, Q, MaxRecurse)) { simplifyAssociativeBinOp() local 373 if (Value *V = simplifyBinOp(Opcode, C, A, Q, MaxRecurse)) { simplifyAssociativeBinOp() local 546 Value *V = PI == LHS threadBinOpOverPHI() local 594 Value *V = simplifyCmpInst(Pred, Incoming, RHS, Q.getWithInstruction(InTI), threadCmpOverPHI() local 681 if (Value *V = simplifyXorInst(Op0, Op1, Q, MaxRecurse - 1)) simplifyAddInst() local 685 if (Value *V = simplifyAddInst() local 715 stripAndComputeConstantOffsets(const DataLayout & DL,Value * & V,bool AllowNonInbounds=false) stripAndComputeConstantOffsets() argument 832 if (Value *V = simplifyBinOp(Instruction::Sub, Y, Z, Q, MaxRecurse - 1)) simplifySubInst() local 840 if (Value *V = simplifyBinOp(Instruction::Sub, X, Z, Q, MaxRecurse - 1)) simplifySubInst() local 854 if (Value *V = simplifyBinOp(Instruction::Sub, X, Y, Q, MaxRecurse - 1)) simplifySubInst() local 862 if (Value *V = simplifyBinOp(Instruction::Sub, X, Z, Q, MaxRecurse - 1)) simplifySubInst() local 876 if (Value *V = simplifyBinOp(Instruction::Sub, Z, X, Q, MaxRecurse - 1)) simplifySubInst() local 889 if (Value *V = simplifyBinOp(Instruction::Sub, X, Y, Q, MaxRecurse - 1)) simplifySubInst() local 904 if (Value *V = simplifyXorInst(Op0, Op1, Q, MaxRecurse - 1)) simplifySubInst() local 916 if (Value *V = simplifyByDomEq(Instruction::Sub, Op0, Op1, Q, MaxRecurse)) simplifySubInst() local 963 if (Value *V = simplifyAndInst(Op0, Op1, Q, MaxRecurse - 1)) simplifyMulInst() local 968 if (Value *V = simplifyMulInst() local 973 if (Value *V = expandCommutativeBinOp(Instruction::Mul, Op0, Op1, simplifyMulInst() local 980 if (Value *V = simplifyMulInst() local 987 if (Value *V = simplifyMulInst() local 1004 Value *V = simplifyICmpInst(Pred, LHS, RHS, Q, MaxRecurse); isICmpTrue() local 1165 if (Value *V = simplifyByDomEq(Opcode, Op0, Op1, Q, MaxRecurse)) simplifyDivRem() local 1171 if (Value *V = threadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) simplifyDivRem() local 1177 if (Value *V = threadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) simplifyDivRem() local 1190 if (Value *V = simplifyDivRem(Opcode, Op0, Op1, Q, MaxRecurse)) simplifyDiv() local 1224 if (Value *V = simplifyDivRem(Opcode, Op0, Op1, Q, MaxRecurse)) simplifyRem() local 1359 if (Value *V = threadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) simplifyShift() local 1365 if (Value *V = threadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) simplifyShift() local 1403 if (Value *V = simplifyRightShift() local 1431 if (Value *V = simplifyShlInst() local 1472 if (Value *V = simplifyRightShift(Instruction::LShr, Op0, Op1, IsExact, Q, simplifyLShrInst() local 1509 if (Value *V = simplifyRightShift(Instruction::AShr, Op0, Op1, IsExact, Q, simplifyAShrInst() local 1693 Value *V; simplifyAndOfICmpsWithAdd() local 1784 Value *V; simplifyOrOfICmpsWithAdd() local 1905 Value *V = nullptr; simplifyAndOrOfCmps() local 2052 if (Value *V = simplifyAndCommutative() local 2091 if (Value *V = simplifyLogicOfAddSub(Op0, Op1, Instruction::And)) simplifyAndInst() local 2125 if (Value *V = simplifyAndOrOfCmps(Q, Op0, Op1, true)) simplifyAndInst() local 2129 if (Value *V = simplifyAndInst() local 2134 if (Value *V = expandCommutativeBinOp(Instruction::And, Op0, Op1, simplifyAndInst() local 2139 if (Value *V = expandCommutativeBinOp(Instruction::And, Op0, Op1, simplifyAndInst() local 2154 if (Value *V = simplifyAndInst() local 2162 if (Value *V = simplifyAndInst() local 2234 if (Value *V = simplifyByDomEq(Instruction::And, Op0, Op1, Q, MaxRecurse)) simplifyAndInst() local 2363 if (Value *V = simplifyLogicOfAddSub(Op0, Op1, Instruction::Or)) simplifyOrInst() local 2408 if (Value *V = simplifyOrInst() local 2411 if (Value *V = simplifyOrInst() local 2415 if (Value *V = simplifyAndOrOfCmps(Q, Op0, Op1, false)) simplifyOrInst() local 2427 if (Value *V = simplifyOrInst() local 2432 if (Value *V = expandCommutativeBinOp(Instruction::Or, Op0, Op1, simplifyOrInst() local 2447 if (Value *V = simplifyOrInst() local 2481 if (Value *V = threadBinOpOverPHI(Instruction::Or, Op0, Op1, Q, MaxRecurse)) simplifyOrInst() local 2510 if (Value *V = simplifyByDomEq(Instruction::Or, Op0, Op1, Q, MaxRecurse)) simplifyOrInst() local 2571 if (Value *V = simplifyLogicOfAddSub(Op0, Op1, Instruction::Xor)) simplifyXorInst() local 2575 if (Value *V = simplifyXorInst() local 2588 if (Value *V = simplifyByDomEq(Instruction::Xor, Op0, Op1, Q, MaxRecurse)) simplifyXorInst() local 2605 extractEquivalentCondition(Value * V,CmpInst::Predicate Pred,Value * LHS,Value * RHS) extractEquivalentCondition() argument 2624 isAllocDisjoint(const Value * V) isAllocDisjoint() argument 2670 __anon0804f4c40402(const Value *V) haveNonOverlappingStorage() argument 2776 __anon0804f4c40502(Value *V) computePointerICmp() argument 2878 __anon0804f4c40802(Value *V) simplifyICmpOfBools() argument 3296 if (Value *V = simplifyICmpInst(Pred, A == RHS ? B : A, simplifyICmpWithBinOp() local 3303 if (Value *V = simplifyICmpWithBinOp() local 3332 if (Value *V = simplifyICmpInst(Pred, Y, Z, Q, MaxRecurse - 1)) simplifyICmpWithBinOp() local 3338 if (Value *V = simplifyICmpWithBinOpOnLHS(Pred, LBO, RHS, Q, MaxRecurse)) simplifyICmpWithBinOp() local 3342 if (Value *V = simplifyICmpWithBinOpOnLHS( simplifyICmpWithBinOp() local 3412 if (Value *V = simplifyICmpInst(Pred, LBO->getOperand(1), simplifyICmpWithBinOp() local 3459 if (Value *V = simplifyICmpInst(Pred, LBO->getOperand(0), simplifyICmpWithBinOp() local 3467 if (Value *V = simplifyICmpInst(Pred, LBO->getOperand(0), simplifyICmpWithBinOp() local 3474 if (Value *V = simplifyICmpInst(Pred, LBO->getOperand(0), simplifyICmpWithBinOp() local 3485 if (Value *V = simplifyICmpInst(Pred, LBO->getOperand(0), simplifyICmpWithBinOp() local 3545 if (Value *V = extractEquivalentCondition(LHS, EqP, A, B)) simplifyICmpWithMinMax() local 3547 if (Value *V = extractEquivalentCondition(RHS, EqP, A, B)) simplifyICmpWithMinMax() local 3551 if (Value *V = simplifyICmpInst(EqP, A, B, Q, MaxRecurse - 1)) simplifyICmpWithMinMax() local 3559 if (Value *V = extractEquivalentCondition(LHS, InvEqP, A, B)) simplifyICmpWithMinMax() local 3561 if (Value *V = extractEquivalentCondition(RHS, InvEqP, A, B)) simplifyICmpWithMinMax() local 3565 if (Value *V = simplifyICmpInst(InvEqP, A, B, Q, MaxRecurse - 1)) simplifyICmpWithMinMax() local 3619 if (Value *V = extractEquivalentCondition(LHS, EqP, A, B)) simplifyICmpWithMinMax() local 3621 if (Value *V = extractEquivalentCondition(RHS, EqP, A, B)) simplifyICmpWithMinMax() local 3625 if (Value *V = simplifyICmpInst(EqP, A, B, Q, MaxRecurse - 1)) simplifyICmpWithMinMax() local 3633 if (Value *V = extractEquivalentCondition(LHS, InvEqP, A, B)) simplifyICmpWithMinMax() local 3635 if (Value *V = extractEquivalentCondition(RHS, InvEqP, A, B)) simplifyICmpWithMinMax() local 3639 if (Value *V = simplifyICmpInst(InvEqP, A, B, Q, MaxRecurse - 1)) simplifyICmpWithMinMax() local 3769 if (Value *V = simplifyICmpOfBools(Pred, LHS, RHS, Q)) simplifyICmpInst() local 3774 if (Value *V = simplifyICmpWithZero(Pred, LHS, RHS, Q)) simplifyICmpInst() local 3777 if (Value *V = simplifyICmpWithConstant(Pred, LHS, RHS, Q.IIQ)) simplifyICmpInst() local 3814 if (Value *V = simplifyICmpInst(Pred, SrcOp, simplifyICmpInst() local 3821 if (Value *V = simplifyICmpInst(Pred, SrcOp, RI->getOperand(0), Q, simplifyICmpInst() local 3833 if (Value *V = simplifyICmpInst() local 3869 if (Value *V = simplifyICmpInst(ICmpInst::getUnsignedPredicate(Pred), simplifyICmpInst() local 3913 if (Value *V = simplifyICmpInst(Pred, SrcOp, RI->getOperand(0), Q, simplifyICmpInst() local 3946 if (Value *V = simplifyICmpInst() local 3978 if (Value *V = simplifyICmpInst(ICmpInst::ICMP_SLT, SrcOp, simplifyICmpInst() local 3987 if (Value *V = simplifyICmpInst(ICmpInst::ICMP_SGE, SrcOp, simplifyICmpInst() local 4006 if (Value *V = simplifyICmpWithBinOp(Pred, LHS, RHS, Q, MaxRecurse)) simplifyICmpInst() local 4009 if (Value *V = simplifyICmpWithMinMax(Pred, LHS, RHS, Q, MaxRecurse)) simplifyICmpInst() local 4012 if (Value *V = simplifyICmpWithIntrinsicOnLHS(Pred, LHS, RHS)) simplifyICmpInst() local 4014 if (Value *V = simplifyICmpWithIntrinsicOnLHS( simplifyICmpInst() local 4018 if (Value *V = simplifyICmpWithDominatingAssume(Pred, LHS, RHS, Q)) simplifyICmpInst() local 4042 if (Value *V = threadCmpOverSelect(Pred, LHS, RHS, Q, MaxRecurse)) simplifyICmpInst() local 4048 if (Value *V = threadCmpOverPHI(Pred, LHS, RHS, Q, MaxRecurse)) simplifyICmpInst() local 4271 if (Value *V = threadCmpOverSelect(Pred, LHS, RHS, Q, MaxRecurse)) simplifyFCmpInst() local 4277 if (Value *V = threadCmpOverPHI(Pred, LHS, RHS, Q, MaxRecurse)) simplifyFCmpInst() local 4288 simplifyWithOpReplaced(Value * V,Value * Op,Value * RepOp,const SimplifyQuery & Q,bool AllowRefinement,SmallVectorImpl<Instruction * > * DropFlags,unsigned MaxRecurse) simplifyWithOpReplaced() argument 4456 simplifyWithOpReplaced(Value * V,Value * Op,Value * RepOp,const SimplifyQuery & Q,bool AllowRefinement,SmallVectorImpl<Instruction * > * DropFlags) simplifyWithOpReplaced() argument 4622 if (Value *V = simplifyCmpSelOfMaxMin(CmpLHS, CmpRHS, Pred, TrueVal, FalseVal)) simplifySelectWithICmpCond() local 4652 if (Value *V = simplifySelectBitTest(TrueVal, FalseVal, X, Y, simplifySelectWithICmpCond() local 4691 if (Value *V = simplifySelectWithICmpCond() local 4699 if (Value *V = simplifySelectWithICmpEq(CmpLHS, CmpRHS, TrueVal, FalseVal, simplifySelectWithICmpCond() local 4702 if (Value *V = simplifySelectWithICmpEq(CmpRHS, CmpLHS, TrueVal, FalseVal, simplifySelectWithICmpCond() local 4712 if (Value *V = simplifySelectWithICmpEq(X, CmpRHS, TrueVal, FalseVal, Q, simplifySelectWithICmpCond() local 4715 if (Value *V = simplifySelectWithICmpEq(Y, CmpRHS, TrueVal, FalseVal, Q, simplifySelectWithICmpCond() local 4724 if (Value *V = simplifySelectWithICmpEq(X, CmpRHS, TrueVal, FalseVal, Q, simplifySelectWithICmpCond() local 4727 if (Value *V = simplifySelectWithICmpEq(Y, CmpRHS, TrueVal, FalseVal, Q, simplifySelectWithICmpCond() local 4929 if (Value *V = simplifySelectInst() local 4933 if (Value *V = simplifySelectWithFCmp(Cond, TrueVal, FalseVal, Q)) simplifySelectInst() local 4936 if (Value *V = foldSelectWithBinaryOp(Cond, TrueVal, FalseVal)) simplifySelectInst() local 4980 __anon0804f4c40b02(const auto *V) simplifyGEPInst() argument 4986 __anon0804f4c40c02(const auto *V) simplifyGEPInst() argument 4994 __anon0804f4c40d02(const Value *V) simplifyGEPInst() argument 5075 __anon0804f4c41002(Value *V) simplifyGEPInst() argument 5578 __anon0804f4c41302(Value *V) simplifyFPOp() argument 6499 if (Value *V = foldMinMaxSharedOp(IID, Op0, Op1)) simplifyBinaryIntrinsic() local 6501 if (Value *V = foldMinMaxSharedOp(IID, Op1, Op0)) simplifyBinaryIntrinsic() local 6666 if (Value *V = foldMinimumMaximumSharedOp(IID, Op0, Op1)) simplifyBinaryIntrinsic() local 6668 if (Value *V = foldMinimumMaximumSharedOp(IID, Op1, Op0)) simplifyBinaryIntrinsic() local 6767 if (Value *V = simplifyFPOp(Args, {}, Q, *FPI->getExceptionBehavior(), simplifyIntrinsic() local 6774 if (Value *V = simplifyFPOp(Args, {}, Q, fp::ebIgnore, simplifyIntrinsic() local 6901 if (Value *V = tryConstantFoldCall(Call, Callee, Args, Q)) simplifyCall() local 6915 if (Value *V = tryConstantFoldCall(Call, Call->getCalledOperand(), Args, Q)) simplifyConstrainedFPCall() local 6985 __anon0804f4c41402(Value *V) simplifyInstructionWithOperands() argument 6988 __anon0804f4c41502(Value *V) simplifyInstructionWithOperands() argument [all...] |