| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineAndOrXor.cpp | 1909 if (matchNotOrAnd(Op1, m_Specific(A), m_Specific(C), m_Specific(B), Dummy, in foldComplexAndOrPatterns() 1919 if (matchNotOrAnd(Op1, m_Specific(B), m_Specific(C), m_Specific(A), Dummy, in foldComplexAndOrPatterns() 2534 match(Op1, m_Xor(m_Specific(B), m_Specific(A)))) { in visitAnd() 2547 match(Op0, m_c_Or(m_Specific(A), m_Specific(B)))) in visitAnd() 2555 match(Op1, m_c_Or(m_Specific(A), m_Specific(B)))) in visitAnd() 2563 match(Op1, m_c_Xor(m_Specific(A), m_Specific(B)))) in visitAnd() 2571 match(Op0, m_c_Xor(m_Specific(A), m_Specific(B)))) in visitAnd() 3528 if (match(Op1, m_Xor(m_Specific(B), m_Specific(A)))) in visitOr() 3568 match(Op0, m_And(m_Specific(B), m_Specific(A)))) in visitOr() 4733 match(Op1, m_c_Xor(m_Specific(A), m_Specific(B)))) in visitXor() [all …]
|
| H A D | InstCombineSelect.cpp | 680 match(FalseVal, m_AShr(m_Specific(X), m_Specific(Y))) && in foldSelectICmpLshrAshr() 681 match(CmpLHS, m_Specific(X))) { in foldSelectICmpLshrAshr() 932 if (match(TrueVal, m_Sub(m_Specific(B), m_Specific(A))) || in canonicalizeSaturatedSubtract() 936 else if (!match(TrueVal, m_Sub(m_Specific(A), m_Specific(B))) && in canonicalizeSaturatedSubtract() 1004 if (match(FVal, m_c_Add(m_Not(m_Specific(X)), m_Specific(Y)))) { in canonicalizeSaturatedAdd() 1015 match(FVal, m_c_Add(m_Specific(Cmp1), m_Specific(Y)))) { in canonicalizeSaturatedAdd() 1038 if (match(FI, m_Sub(m_Specific(A), m_Specific(B)))) { in foldAbsDiff() 1046 match(TI, m_Sub(m_Specific(A), m_Specific(B))) && in foldAbsDiff() 1047 match(FI, m_Sub(m_Specific(B), m_Specific(A))) && in foldAbsDiff() 1098 if (!match(II->getOperand(0), m_c_And(m_Specific(X), m_Neg(m_Specific(X))))) in foldSelectCtlzToCttz() [all …]
|
| H A D | InstCombineAddSub.cpp | 1436 m_CombineOr(m_Specific(X), m_Specific(XLo))), in foldBoxMultiply() 1438 m_CombineOr(m_Specific(Y), m_Specific(YLo)))))) in foldBoxMultiply() 2086 if (match(Op0, m_c_Add(m_Specific(X), m_Specific(Y))) && in foldSubOfMinMax() 2378 match(Op0, m_c_Or(m_Specific(A), m_Specific(B)))) in visitSub() 2386 match(Op1, m_c_Or(m_Specific(A), m_Specific(B)))) in visitSub() 2394 match(Op1, m_c_And(m_Specific(A), m_Specific(B)))) in visitSub() 2402 match(Op1, m_c_Or(m_Specific(A), m_Specific(B))) && in visitSub() 2411 match(Op0, m_c_Or(m_Specific(A), m_Specific(B)))) in visitSub() 2419 match(Op1, m_c_Or(m_Specific(A), m_Specific(B))) && in visitSub() 2559 match(Op0, m_OneUse(m_c_Xor(m_Specific(A), m_Specific(Op1))))) { in visitSub() [all …]
|
| H A D | InstCombineMulDivRem.cpp | 958 match(Op0, m_c_Mul(m_Specific(X), m_Value(Y)))) { in foldIDivShl() 979 match(Op1, m_Shl(m_Value(Y), m_Specific(Z)))) { in foldIDivShl() 1002 match(Op1, m_Shl(m_Specific(X), m_Value(Z)))) { in foldIDivShl() 1164 if ((IsSigned && match(Z, m_SRem(m_Specific(X), m_Specific(Op1)))) || in commonIDivTransforms() 1165 (!IsSigned && match(Z, m_URem(m_Specific(X), m_Specific(Op1))))) in commonIDivTransforms() 1176 if (match(Op1, m_c_Mul(m_Specific(Op0), m_Value(Y)))) { in commonIDivTransforms() 1190 match(Op1, m_c_Mul(m_Specific(X), m_Value(Y)))) in commonIDivTransforms() 1244 if (match(Op1, m_c_Mul(m_Specific(X), m_Value(Z)))) { in commonIDivTransforms() 1248 if (match(Op1, m_c_Mul(m_Specific(Y), m_Value(Z)))) { in commonIDivTransforms() 1798 match(Op1, m_c_FMul(m_Specific(Op0), m_Value(Y)))) { in visitFDiv() [all …]
|
| H A D | InstCombineShifts.cpp | 958 if (match(I.getOperand(0), m_Shl(m_Value(), m_Specific(I.getOperand(1))))) { in setShiftFlags() 1035 if (match(Op0, m_Shr(m_Value(X), m_Specific(Op1)))) { in visitShl() 1151 (match(Y, m_Shr(m_Value(), m_Specific(Op1))) || in visitShl() 1152 match(Y, m_And(m_OneUse(m_Shr(m_Value(), m_Specific(Op1))), in visitShl() 1157 if (match(Shr, m_OneUse(m_Shr(m_Value(X), m_Specific(Op1))))) { in visitShl() 1171 m_OneUse(m_And(m_OneUse(m_Shr(m_Value(X), m_Specific(Op1))), in visitShl() 1196 if (match(Op0, m_OneUse(m_Shr(m_Value(X), m_Specific(Op1))))) { in visitShl() 1320 m_OneUse(m_c_Add(m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))), in visitLShr() 1483 if (match(Op0, m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))))) { in visitLShr() 1537 m_Sub(m_Constant(C0), m_ZExtOrSelf(m_Specific(NBits))))) || in foldVariableSignZeroExtensionOfVariableHighBitExtract() [all …]
|
| H A D | InstCombineCompares.cpp | 1808 match(LShr, m_LShr(m_Specific(A), m_Value(B)))) { in foldICmpAndConstConst() 4480 if (match(Op1, m_c_And(m_Specific(Op0), m_Value()))) { in foldICmpAndXX() 4485 if (!match(Op0, m_c_And(m_Specific(Op1), m_Value(A)))) in foldICmpAndXX() 4505 if (match(Op1, m_c_Or(m_Specific(Op0), m_Value(A)))) { in foldICmpOrXX() 4539 if (match(Op1, m_c_Xor(m_Specific(Op0), m_Value()))) { in foldICmpXorXX() 5006 auto LSubOne = m_Add(m_Specific(Op1), m_AllOnes()); in foldICmpBinOp() 5019 if (match(Op0, m_Shl(m_Specific(Op1), m_One()))) in foldICmpBinOp() 5204 if (match(Op0, m_OneUse(m_c_And(m_Neg(m_Specific(Op1)), m_Specific(Op1))))) in foldICmpPow2Test() 5207 m_OneUse(m_c_And(m_Neg(m_Specific(Op0)), m_Specific(Op0))))) in foldICmpPow2Test() 6896 match(Op1, m_Specific(X))) { in foldICmpCommutative() [all …]
|
| H A D | InstructionCombining.cpp | 919 if (!match(ShiftedX, m_OneUse(m_Shift(m_Value(X), m_Specific(Shift))))) in foldBinOpShiftWithShift() 1050 if (match(A, m_Not(m_Specific(CondVal)))) { in foldBinOpOfSelectAndCastOfSelectCondition() 1438 m_ICmp(Pred, m_Specific(Op), m_Constant(C))) && in constantFoldOperationIntoSelectOperand() 1896 m_Shuffle(m_Specific(V2), m_Specific(V1), m_SpecificMask(Mask)))) { in foldVectorBinop() 2579 m_Sub(m_PtrToInt(m_Value(Y)), m_PtrToInt(m_Specific(X)))) && in visitGetElementPtrInst() 3001 m_CombineOr(m_Specific(Op), in tryToMoveFreeBeforeNullTest() 3002 m_Specific(Op->stripPointerCasts())), in tryToMoveFreeBeforeNullTest() 4114 else if (match(U, m_BitCast(m_Specific(V))) && isUsedWithinShuffleVector(U)) in isUsedWithinShuffleVector() 4157 else if (match(U, m_Select(m_Specific(&I), m_Constant(), m_Value()))) in visitFreeze()
|
| H A D | InstCombineSimplifyDemanded.cpp | 1847 auto Shuf = m_Shuffle(m_Specific(ShufOp), m_Value(), m_ZeroMask()); in SimplifyDemandedVectorElts() 1849 ? match(U, m_c_BinOp(Opcode, Shuf, m_Specific(OtherOp))) in SimplifyDemandedVectorElts() 1851 ? match(U, m_BinOp(Opcode, Shuf, m_Specific(OtherOp))) in SimplifyDemandedVectorElts() 1852 : match(U, m_BinOp(Opcode, m_Specific(OtherOp), Shuf))) in SimplifyDemandedVectorElts()
|
| H A D | InstCombineVectorOps.cpp | 1298 if (!match(Op0, m_InsertElt(m_Undef(), m_Specific(X), m_ZeroInt()))) in foldInsEltIntoSplat() 1337 if (!match(Scalar, m_ExtractElt(m_Specific(X), m_SpecificInt(IdxC)))) in foldInsEltIntoIdentityShuffle() 1573 !match(Scalar0, m_Trunc(m_LShr(m_Specific(X), m_ConstantInt(ShAmt))))) in foldTruncInsEltPair() 1577 !match(ScalarOp, m_Trunc(m_LShr(m_Specific(X), m_ConstantInt(ShAmt))))) in foldTruncInsEltPair() 2145 if (match(Op0, m_BinOp(m_Specific(Op1), m_Constant(C)))) in foldSelectShuffleWith1Binop() 2147 else if (match(Op1, m_BinOp(m_Specific(Op0), m_Constant(C)))) in foldSelectShuffleWith1Binop()
|
| H A D | InstCombineCasts.cpp | 478 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L))))) in narrowFunnelShift() 491 match(R, m_And(m_Neg(m_Specific(X)), m_SpecificInt(Mask)))) in narrowFunnelShift() 496 match(R, m_ZExt(m_And(m_Neg(m_Specific(X)), m_SpecificInt(Mask))))) in narrowFunnelShift() 1205 match(And, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Specific(C)))) && in visitZExt() 1242 match(Zext.user_back(), m_Shift(m_Value(), m_Specific(&Zext)))) { in visitZExt()
|
| H A D | InstCombineCalls.cpp | 1706 if ((match(I0, m_c_Xor(m_Specific(I1), m_Value(X))) || in visitCallInst() 1707 match(I1, m_c_Xor(m_Specific(I0), m_Value(X)))) && in visitCallInst() 2390 match(Src1, m_FAbs(m_Specific(X)))) { in visitCallInst() 2458 if (match(TVal, m_FNeg(m_Specific(FVal)))) in visitCallInst() 2461 if (match(FVal, m_FNeg(m_Specific(TVal)))) in visitCallInst() 2816 if (match(Next, m_Intrinsic<Intrinsic::assume>(m_Specific(IIOperand)))) in visitCallInst()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | InstructionSimplify.cpp | 2266 match(Y, m_c_Or(m_Specific(A), m_Specific(B)))) in simplifyOrLogic() 2272 match(Y, m_c_Or(m_Specific(A), m_Specific(B)))) in simplifyOrLogic() 2280 match(Y, m_c_Xor(m_Specific(A), m_Specific(B)))) in simplifyOrLogic() 2288 match(Y, m_c_And(m_Specific(A), m_Specific(B)))) in simplifyOrLogic() 2296 match(Y, m_c_Xor(m_Specific(A), m_Specific(B)))) in simplifyOrLogic() 2323 match(Y, m_c_And(m_Specific(A), m_Specific(B)))) in simplifyOrLogic() 2330 match(Y, m_c_Xor(m_Specific(A), m_Specific(B)))) in simplifyOrLogic() 2390 match(Op1, m_Shl(m_Specific(X), m_Specific(Y)))) in simplifyOrInst() 2394 match(Op0, m_Shl(m_Specific(X), m_Specific(Y)))) in simplifyOrInst() 2401 match(Op1, m_LShr(m_Specific(X), m_Specific(Y)))) in simplifyOrInst() [all …]
|
| H A D | ValueTracking.cpp | 196 match(RHS, m_c_And(m_Specific(M), m_Value())) && in haveNoCommonBitsSetSpecialCases() 218 match(RHS, m_ZExtOrSExt(m_Not(m_Specific(Y)))) && in haveNoCommonBitsSetSpecialCases() 226 match(RHS, m_Not(m_c_Or(m_Specific(A), m_Specific(B)))) && in haveNoCommonBitsSetSpecialCases() 607 auto m_V = m_CombineOr(m_Specific(V), m_PtrToInt(m_Specific(V))); in isKnownNonZeroFromAssume() 645 m_CombineOr(m_Specific(V), m_PtrToIntSameSize(Q.DL, m_Specific(V))); in computeKnownBitsFromCmp() 778 if (match(Arg, m_Not(m_Specific(V))) && in computeKnownBitsFromContext() 7640 match(Y, m_Sub(m_Specific(B), m_Specific(A))))) || in isKnownNegation() 7642 match(Y, m_NSWSub(m_Specific(B), m_Specific(A))))); in isKnownNegation() 7778 m_CombineOr(m_Specific(CmpLHS), m_SExt(m_Specific(CmpLHS))); in matchSelectPattern() 8348 match(L0, m_c_Add(m_Specific(L1), m_Specific(R1)))) in isImpliedCondICmps() [all …]
|
| H A D | LazyValueInfo.cpp | 1077 if (match(LHS, m_Add(m_Specific(Val), m_APInt(C)))) { in matchICmpOperand() 1084 if (match(Val, m_Add(m_Specific(LHS), m_APInt(C)))) { in matchICmpOperand() 1090 if (match(LHS, m_c_Or(m_Specific(Val), m_Value())) && in matchICmpOperand() 1095 if (match(LHS, m_c_And(m_Specific(Val), m_Value())) && in matchICmpOperand() 1183 if (match(LHS, m_And(m_Specific(Val), m_APInt(Mask))) && in getValueFromICmpCondition() 1206 if (match(LHS, m_CombineOr(m_URem(m_Specific(Val), m_Value()), in getValueFromICmpCondition() 1207 m_Trunc(m_Specific(Val)))) && in getValueFromICmpCondition() 1221 match(LHS, m_AShr(m_Specific(Val), m_APInt(ShAmtC))) && in getValueFromICmpCondition()
|
| H A D | AssumeBundleQueries.cpp | 137 m_Intrinsic<Intrinsic::assume>(m_Unless(m_Specific(U->get()))))) in getBundleFromUse()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPULowerKernelAttributes.cpp | 229 if (match(ICmp, m_ICmp(Pred, GroupIDIntrin, m_Specific(BlockCount)))) { in processUse() 284 m_UMin(m_Sub(m_Specific(GridSize), in processUse() 285 m_Mul(GroupIDIntrin, m_Specific(ZextGroupSize))), in processUse() 286 m_Specific(ZextGroupSize)))) { in processUse()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopFlatten.cpp | 197 bool IsAdd = match(U, m_c_Add(m_Specific(InnerInductionPHI), in matchLinearIVUser() 199 match(MatchedMul, m_c_Mul(m_Specific(OuterInductionPHI), in matchLinearIVUser() 205 match(U, m_c_Add(m_Trunc(m_Specific(InnerInductionPHI)), in matchLinearIVUser() 207 match(MatchedMul, m_c_Mul(m_Trunc(m_Specific(OuterInductionPHI)), in matchLinearIVUser() 212 m_Specific(InnerInductionPHI))) && in matchLinearIVUser() 213 match(MatchedMul, m_c_Mul(m_Specific(OuterInductionPHI), in matchLinearIVUser() 581 if (match(&I, m_c_Mul(m_Specific(FI.OuterInductionPHI), in checkOuterLoopInsts() 582 m_Specific(FI.InnerTripCount)))) in checkOuterLoopInsts()
|
| H A D | EarlyCSE.cpp | 197 if (!match(Cond, m_ICmp(Pred, m_Specific(A), m_Specific(B)))) { in matchSelectWithOptionalNotCond() 201 if (!match(Cond, m_ICmp(Pred, m_Specific(B), m_Specific(A)))) in matchSelectWithOptionalNotCond() 457 match(CondR, m_Cmp(PredR, m_Specific(X), m_Specific(Y))) && in isEqualImpl()
|
| H A D | DivRemPairs.cpp | 60 m_c_Mul(m_CombineAnd(m_IDiv(m_Specific(Dividend), m_Value(Divisor)), in matchExpandedRem()
|
| H A D | GuardWidening.cpp | 733 m_ICmp(Pred1, m_Specific(LHS), m_ConstantInt(RHS1)))) { in mergeChecks()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonLoopIdiomRecognition.cpp | 711 if (match(A, m_Shl(m_One(), m_Specific(CIV)))) { in matchLeftShift() 714 } else if (match(B, m_Shl(m_One(), m_Specific(CIV)))) { in matchLeftShift() 773 if (!match(U, m_Xor(m_Specific(SelI), m_Value(R))) && in matchLeftShift() 774 !match(U, m_Xor(m_Value(R), m_Specific(SelI)))) in matchLeftShift() 785 if (!match(T, m_Shl(m_Value(Q), m_Specific(CIV))) && in matchLeftShift() 786 !match(T, m_Shl(m_ZExt(m_Value(Q)), m_ZExt(m_Specific(CIV))))) in matchLeftShift() 848 if (!match(FalseV, m_Xor(m_Specific(TrueV), m_Value(Q))) && in matchRightShift() 849 !match(FalseV, m_Xor(m_Value(Q), m_Specific(TrueV)))) in matchRightShift() 859 if (!match(TrueV, m_Xor(m_Specific(FalseV), m_Value(Q))) && in matchRightShift() 860 !match(TrueV, m_Xor(m_Value(Q), m_Specific(FalseV)))) in matchRightShift()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64LoopIdiomTransform.cpp | 271 !match(Index, m_c_Add(m_Specific(PN), m_One()))) in recognizeByteCompare() 289 m_Br(m_ICmp(Pred, m_Specific(Index), m_Value(MaxLen)), in recognizeByteCompare() 338 if (IdxA != IdxB || !match(IdxA, m_ZExt(m_Specific(Index)))) in recognizeByteCompare()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | AggressiveInstCombine.cpp | 128 if (!match(TermI, m_Br(m_ICmp(Pred, m_Specific(ShAmt), m_ZeroInt()), in foldGuardedFunnelShift() 321 match(SubOp1, m_And(m_LShr(m_Specific(Root), m_SpecificInt(1)), in tryToRecognizePopCount()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | CodeGenPrepare.cpp | 1656 if (match(U, m_Add(m_Specific(A), m_Specific(B)))) { in matchUAddWithOverflowConstantEdgeCases() 1733 if (match(U, m_Sub(m_Specific(A), m_Specific(B)))) { in combineToUSubWithOverflow() 1740 if (match(U, m_Add(m_Specific(A), m_APInt(AddC))) && in combineToUSubWithOverflow() 1886 if (!match(DomCond, m_ICmp(DomPred, m_Specific(CmpOp0), m_Specific(CmpOp1)))) in foldICmpWithDominatingICmp() 1934 if (match(U, m_Sub(m_Specific(Op1), m_Specific(Op0)))) in swapICmpOperandsToExposeCSEOpportunities() 1936 else if (match(U, m_Sub(m_Specific(Op0), m_Specific(Op1)))) in swapICmpOperandsToExposeCSEOpportunities() 8153 match(UI, m_Shr(m_Specific(X), m_SpecificInt(CmpC.logBase2())))) { in optimizeBranch() 8166 (match(UI, m_Add(m_Specific(X), m_SpecificInt(-CmpC))) || in optimizeBranch() 8167 match(UI, m_Sub(m_Specific(X), m_SpecificInt(CmpC))))) { in optimizeBranch()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | SimplifyIndVar.cpp | 810 m_AShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C))) || in strengthenRightShift() 812 m_LShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C)))) { in strengthenRightShift() 2038 if (!match(Condition, m_ICmp(Pred, m_Specific(NarrowDefLHS), in calculatePostIncRange()
|