| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineSelect.cpp | 98 if (!BO->isCommutative() && !match(BO, m_BinOp(m_Value(Y), m_Specific(X)))) in foldSelectBinOpIdentity() 100 if (!match(BO, m_c_BinOp(m_Value(Y), m_Specific(X)))) in foldSelectBinOpIdentity() 530 if (!match(Cmp->getOperand(0), m_c_And(m_Specific(X), m_Value(Y)))) in foldSelectICmpAndAnd() 572 match(FalseVal, m_AShr(m_Specific(X), m_Specific(Y))) && in foldSelectICmpLshrAshr() 573 match(CmpLHS, m_Specific(X))) { in foldSelectICmpLshrAshr() 643 bool OrOnFalseVal = match(FalseVal, m_Or(m_Specific(TrueVal), m_Power2(C2))); in foldSelectICmpAndOr() 645 OrOnTrueVal = match(TrueVal, m_Or(m_Specific(FalseVal), m_Power2(C2))); in foldSelectICmpAndOr() 699 match(F, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits() 708 match(T, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits() 754 if (match(TrueVal, m_Sub(m_Specific(B), m_Specific(A))) || in canonicalizeSaturatedSubtract() [all …]
|
| H A D | InstCombineAndOrXor.cpp | 933 } else if (match(X0, m_Trunc(m_Specific(X1)))) { in foldSignedTruncationCheck() 974 match(Cmp1, m_ICmp(Pred1, m_Intrinsic<Intrinsic::ctpop>(m_Specific(X)), in foldIsPowerOf2() 982 match(Cmp1, m_ICmp(Pred1, m_Intrinsic<Intrinsic::ctpop>(m_Specific(X)), in foldIsPowerOf2() 1011 m_c_ICmp(UnsignedPred, m_Specific(ZeroCmpOp), m_Value(A))) && in foldUnsignedUnderflowCheck() 1012 match(ZeroCmpOp, m_c_Add(m_Specific(A), m_Value(B))) && in foldUnsignedUnderflowCheck() 1047 m_c_ICmp(UnsignedPred, m_Specific(Base), m_Specific(Offset))) || in foldUnsignedUnderflowCheck() 1298 match(LHS0, m_And(m_Specific(V), m_ConstantInt(AndC)))) { in foldAndOfICmps() 1302 match(RHS0, m_And(m_Specific(V), m_ConstantInt(AndC)))) { in foldAndOfICmps() 1711 match(Op1, m_Not(m_c_Or(m_Specific(A), m_Specific(B))))) in foldOrToXor() 1719 match(Op1, m_Not(m_c_Or(m_Specific(A), m_Specific(B))))) in foldOrToXor() [all …]
|
| H A D | InstCombineAddSub.cpp | 1213 if (!match(Select, m_Select(m_ICmp(Pred, m_Specific(X), m_APInt(Thr)), in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract() 1232 m_ZExtOrSelf(m_Specific(NBits))))) in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract() 1266 !match(Op1, m_Shl(m_Value(Y), m_Specific(ShAmt)))) in factorizeMathWithShlOps() 1351 if (match(LHS, m_OneUse(m_c_Add(m_Value(A), m_Specific(RHS))))) in visitAdd() 1355 if (match(RHS, m_OneUse(m_c_Add(m_Value(A), m_Specific(LHS))))) in visitAdd() 1363 if (match(LHS, m_Shl(m_SDiv(m_Specific(RHS), m_APInt(C1)), m_APInt(C2)))) { in visitAdd() 1391 if (match(FV, m_Zero()) && match(TV, m_Sub(m_Value(N), m_Specific(A)))) in visitAdd() 1395 if (match(TV, m_Zero()) && match(FV, m_Sub(m_Value(N), m_Specific(A)))) in visitAdd() 1493 match(Op1, m_OneUse(m_c_FMul(m_Value(Y), m_Specific(Z))))) || in factorizeFAddFSub() 1495 match(Op1, m_OneUse(m_c_FMul(m_Value(Y), m_Specific(Z)))))) in factorizeFAddFSub() [all …]
|
| H A D | InstCombineMulDivRem.cpp | 585 if (match(Op0, m_OneUse(m_c_FMul(m_Specific(Op1), m_Value(Y)))) && in visitFMul() 590 if (match(Op1, m_OneUse(m_c_FMul(m_Specific(Op0), m_Value(Y)))) && in visitFMul() 828 if ((IsSigned && match(Z, m_SRem(m_Specific(X), m_Specific(Op1)))) || in commonIDivTransforms() 829 (!IsSigned && match(Z, m_URem(m_Specific(X), m_Specific(Op1))))) in commonIDivTransforms() 834 if (IsSigned && match(Op0, m_NSWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms() 836 if (!IsSigned && match(Op0, m_NUWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms() 840 if (match(Op1, m_c_Mul(m_Specific(Op0), m_Value(Y)))) { in commonIDivTransforms() 1053 if (match(Op1, m_NUWMul(m_Specific(A), m_Value(X))) || in visitUDiv() 1054 match(Op1, m_NUWMul(m_Value(X), m_Specific(A)))) in visitUDiv() 1056 if (match(Op1, m_NUWMul(m_Specific(B), m_Value(X))) || in visitUDiv() [all …]
|
| H A D | InstCombineShifts.cpp | 746 m_Specific(Op1)))) { in FoldShiftByConstant() 761 match(Op0BOOp1, m_And(m_OneUse(m_Shr(m_Value(V1), m_Specific(Op1))), in FoldShiftByConstant() 778 m_Specific(Op1)))) { in FoldShiftByConstant() 793 m_And(m_OneUse(m_Shr(m_Value(V1), m_Specific(Op1))), in FoldShiftByConstant() 926 if (match(Op0, m_Shr(m_Value(X), m_Specific(Op1)))) { in visitShl() 1004 if (match(Op0, m_OneUse(m_Shr(m_Value(X), m_Specific(Op1))))) { in visitShl() 1182 if (match(Op0, m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))))) { in visitLShr() 1233 m_Sub(m_Constant(C0), m_ZExtOrSelf(m_Specific(NBits))))) || in foldVariableSignZeroExtensionOfVariableHighBitExtract() 1282 if (match(Op0, m_Shl(m_ZExt(m_Value(X)), m_Specific(Op1))) && in visitAShr()
|
| H A D | InstCombineCompares.cpp | 1472 if (match(DomCond, m_ICmp(DomPred, m_Specific(X), m_APInt(DomC))) && in foldICmpWithDominatingICmp() 1798 match(LShr, m_LShr(m_Specific(A), m_Value(B)))) { in foldICmpAndConstConst() 3787 if (match(Op0, m_OneUse(m_c_Add(m_Specific(Op1), m_Value(X)))) && in foldICmpBinOp() 3791 if (match(Op1, m_OneUse(m_c_Add(m_Specific(Op0), m_Value(X)))) && in foldICmpBinOp() 4126 auto LSubOne = m_Add(m_Specific(Op1), m_AllOnes()); in foldICmpBinOp() 4157 if (match(X, m_c_SMin(m_Specific(Op0), m_Value())) || in foldICmpWithMinMax() 4158 match(X, m_c_SMax(m_Specific(Op0), m_Value())) || in foldICmpWithMinMax() 4159 match(X, m_c_UMin(m_Specific(Op0), m_Value())) || in foldICmpWithMinMax() 4160 match(X, m_c_UMax(m_Specific(Op0), m_Value()))) { in foldICmpWithMinMax() 4166 if (match(Op0, m_c_SMin(m_Specific(X), m_Value(Y)))) { in foldICmpWithMinMax() [all …]
|
| H A D | InstCombineLoadStoreAlloca.cpp | 553 return (match(L1, m_Load(m_Specific(LHS))) && in isMinMaxWithLoads() 554 match(L2, m_Load(m_Specific(RHS)))) || in isMinMaxWithLoads() 555 (match(L1, m_Load(m_Specific(RHS))) && in isMinMaxWithLoads() 556 match(L2, m_Load(m_Specific(LHS)))); in isMinMaxWithLoads()
|
| H A D | InstCombineVectorOps.cpp | 1146 if (!match(Op0, m_InsertElt(m_Undef(), m_Specific(X), m_ZeroInt()))) in foldInsEltIntoSplat() 1185 if (!match(Scalar, m_ExtractElt(m_Specific(X), m_SpecificInt(IdxC)))) in foldInsEltIntoIdentityShuffle() 1799 if (match(Op0, m_BinOp(m_Specific(Op1), m_Constant(C)))) in foldSelectShuffleWith1Binop() 1801 else if (match(Op1, m_BinOp(m_Specific(Op0), m_Constant(C)))) in foldSelectShuffleWith1Binop()
|
| H A D | InstCombineCasts.cpp | 565 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L))))) in narrowFunnelShift() 578 match(R, m_And(m_Neg(m_Specific(X)), m_SpecificInt(Mask)))) in narrowFunnelShift() 583 match(R, m_ZExt(m_And(m_Neg(m_Specific(X)), m_SpecificInt(Mask))))) in narrowFunnelShift() 1309 match(And, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Specific(C)))) && in visitZExt()
|
| H A D | InstructionCombining.cpp | 1604 m_Shuffle(m_Specific(V2), m_Specific(V1), m_SpecificMask(Mask)))) { in foldVectorBinop() 2182 match(V, m_Sub(m_PtrToInt(m_Value(Y)), m_PtrToInt(m_Specific(X)))) && in visitGetElementPtrInst() 2759 m_CombineOr(m_Specific(Op), in tryToMoveFreeBeforeNullTest() 2760 m_Specific(Op->stripPointerCasts())), in tryToMoveFreeBeforeNullTest()
|
| H A D | InstCombineCalls.cpp | 1404 match(Src1, m_FAbs(m_Specific(X)))) { in visitCallInst() 1472 if (match(TVal, m_FNeg(m_Specific(FVal)))) in visitCallInst() 1475 if (match(FVal, m_FNeg(m_Specific(TVal)))) in visitCallInst() 1680 if (match(Next, m_Intrinsic<Intrinsic::assume>(m_Specific(IIOperand)))) in visitCallInst()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| H A D | InstructionSimplify.cpp | 105 if (!match(Cond, m_c_BinOp(m_c_ICmp(Pred1, m_Specific(TrueVal), in foldSelectWithBinaryOp() 106 m_Specific(FalseVal)), in foldSelectWithBinaryOp() 633 if (match(Op1, m_Sub(m_Value(Y), m_Specific(Op0))) || in SimplifyAddInst() 634 match(Op0, m_Sub(m_Value(Y), m_Specific(Op1)))) in SimplifyAddInst() 639 if (match(Op0, m_Not(m_Specific(Op1))) || in SimplifyAddInst() 640 match(Op1, m_Not(m_Specific(Op0)))) in SimplifyAddInst() 884 m_Exact(m_IDiv(m_Value(X), m_Specific(Op1)))) || // (X / Y) * Y in SimplifyMulInst() 885 match(Op1, m_Exact(m_IDiv(m_Value(X), m_Specific(Op0)))))) // Y * (X / Y) in SimplifyMulInst() 1057 if (match(Op0, m_c_Mul(m_Value(X), m_Specific(Op1)))) { in simplifyDiv() 1064 if ((IsSigned && match(X, m_SDiv(m_Value(), m_Specific(Op1)))) || in simplifyDiv() [all …]
|
| H A D | ValueTracking.cpp | 268 match(RHS, m_c_And(m_Specific(M), m_Value()))) in haveNoCommonBitsSet() 271 match(LHS, m_c_And(m_Specific(M), m_Value()))) in haveNoCommonBitsSet() 619 auto m_V = m_CombineOr(m_Specific(V), m_PtrToInt(m_Specific(V))); in isKnownNonZeroFromAssume() 671 if (match(Arg, m_Not(m_Specific(V))) && in computeKnownBitsFromAssume() 697 auto m_V = m_CombineOr(m_Specific(V), m_PtrToInt(m_Specific(V))); in computeKnownBitsFromAssume() 1140 if (match(RHS, m_Neg(m_Specific(LHS))) && in computeKnownBitsFromOperator() 1978 if (match(X, m_Neg(m_Specific(Y))) || match(Y, m_Neg(m_Specific(X)))) in isKnownToBeAPowerOfTwo() 1989 if (match(X, m_And(m_Specific(Y), m_Value())) || in isKnownToBeAPowerOfTwo() 1990 match(X, m_And(m_Value(), m_Specific(Y)))) in isKnownToBeAPowerOfTwo() 1993 if (match(Y, m_And(m_Specific(X), m_Value())) || in isKnownToBeAPowerOfTwo() [all …]
|
| H A D | LazyValueInfo.cpp | 1035 if (match(LHS, m_Add(m_Specific(Val), m_APInt(C)))) { in matchICmpOperand() 1042 if (match(Val, m_Add(m_Specific(LHS), m_APInt(C)))) { in matchICmpOperand() 1048 if (match(LHS, m_c_Or(m_Specific(Val), m_Value())) && in matchICmpOperand() 1053 if (match(LHS, m_c_And(m_Specific(Val), m_Value())) && in matchICmpOperand() 1107 if (match(LHS, m_And(m_Specific(Val), m_APInt(Mask))) && in getValueFromICmpCondition()
|
| H A D | AssumeBundleQueries.cpp | 135 m_Intrinsic<Intrinsic::assume>(m_Unless(m_Specific(U->get()))))) in getBundleFromUse()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPULowerKernelAttributes.cpp | 182 auto SubExpr = m_Sub(m_Specific(GridSize), in processUse() 183 m_Mul(GroupIDIntrin, m_Specific(ZextGroupSize))); in processUse() 187 m_Select(m_ICmp(Pred, SubExpr, m_Specific(ZextGroupSize)), in processUse() 189 m_Specific(ZextGroupSize))) && in processUse()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFlatten.cpp | 161 m_c_Add(m_Specific(InductionPHI), m_ConstantInt<1>()))) { in findLoopComponents() 166 m_c_Add(m_Specific(InductionPHI), m_ConstantInt<1>()))) { in findLoopComponents() 313 if (match(&I, m_c_Mul(m_Specific(FI.OuterInductionPHI), in checkOuterLoopInsts() 314 m_Specific(FI.InnerLimit)))) in checkOuterLoopInsts() 369 bool IsAdd = match(U, m_c_Add(m_Specific(FI.InnerInductionPHI), in checkIVUsers() 371 match(MatchedMul, m_c_Mul(m_Specific(FI.OuterInductionPHI), in checkIVUsers() 376 bool IsAddTrunc = match(U, m_c_Add(m_Trunc(m_Specific(FI.InnerInductionPHI)), in checkIVUsers() 379 m_c_Mul(m_Trunc(m_Specific(FI.OuterInductionPHI)), in checkIVUsers()
|
| H A D | EarlyCSE.cpp | 185 if (!match(Cond, m_ICmp(Pred, m_Specific(A), m_Specific(B)))) { in matchSelectWithOptionalNotCond() 189 if (!match(Cond, m_ICmp(Pred, m_Specific(B), m_Specific(A)))) in matchSelectWithOptionalNotCond() 419 match(CondR, m_Cmp(PredR, m_Specific(X), m_Specific(Y))) && in isEqualImpl()
|
| H A D | DivRemPairs.cpp | 62 m_c_Mul(m_CombineAnd(m_IDiv(m_Specific(Dividend), m_Value(Divisor)), in matchExpandedRem()
|
| H A D | GuardWidening.cpp | 508 match(Cond1, m_ICmp(Pred1, m_Specific(LHS), m_ConstantInt(RHS1)))) { in widenCondCommon()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/ |
| H A D | HexagonLoopIdiomRecognition.cpp | 713 if (match(A, m_Shl(m_One(), m_Specific(CIV)))) { in matchLeftShift() 716 } else if (match(B, m_Shl(m_One(), m_Specific(CIV)))) { in matchLeftShift() 775 if (!match(U, m_Xor(m_Specific(SelI), m_Value(R))) && in matchLeftShift() 776 !match(U, m_Xor(m_Value(R), m_Specific(SelI)))) in matchLeftShift() 787 if (!match(T, m_Shl(m_Value(Q), m_Specific(CIV))) && in matchLeftShift() 788 !match(T, m_Shl(m_ZExt(m_Value(Q)), m_ZExt(m_Specific(CIV))))) in matchLeftShift() 850 if (!match(FalseV, m_Xor(m_Specific(TrueV), m_Value(Q))) && in matchRightShift() 851 !match(FalseV, m_Xor(m_Value(Q), m_Specific(TrueV)))) in matchRightShift() 861 if (!match(TrueV, m_Xor(m_Specific(FalseV), m_Value(Q))) && in matchRightShift() 862 !match(TrueV, m_Xor(m_Value(Q), m_Specific(FalseV)))) in matchRightShift()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | AggressiveInstCombine.cpp | 154 if (!match(TermI, m_Br(m_ICmp(Pred, m_Specific(ShAmt), m_ZeroInt()), in foldGuardedFunnelShift() 348 match(SubOp1, m_And(m_LShr(m_Specific(Root), m_SpecificInt(1)), in tryToRecognizePopCount()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 575 if (match(U, m_Select(m_Specific(&I), m_Value(), m_Value()))) in scalarizeBinopOrCmp() 703 !match(I1, m_OneUse(m_ExtractElt(m_Specific(X), m_ConstantInt(Index1))))) in foldExtractedCmps()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| H A D | CodeGenPrepare.cpp | 1462 if (match(U, m_Add(m_Specific(A), m_Specific(B)))) { in matchUAddWithOverflowConstantEdgeCases() 1537 if (match(U, m_Sub(m_Specific(A), m_Specific(B)))) { in combineToUSubWithOverflow() 1544 if (match(U, m_Add(m_Specific(A), m_APInt(AddC))) && in combineToUSubWithOverflow() 1690 if (!match(DomCond, m_ICmp(DomPred, m_Specific(CmpOp0), m_Specific(CmpOp1)))) in foldICmpWithDominatingICmp() 7724 match(UI, m_Shr(m_Specific(X), m_SpecificInt(CmpC.logBase2())))) { in optimizeBranch() 7736 (match(UI, m_Add(m_Specific(X), m_SpecificInt(-CmpC))) || in optimizeBranch() 7737 match(UI, m_Sub(m_Specific(X), m_SpecificInt(CmpC))))) { in optimizeBranch()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| H A D | SimplifyIndVar.cpp | 802 m_AShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C))) || in strengthenRightShift() 804 m_LShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C)))) { in strengthenRightShift() 1996 if (!match(Condition, m_ICmp(Pred, m_Specific(NarrowDefLHS), in calculatePostIncRange()
|