/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonGenExtract.cpp | 107 bool Match = match(In, m_And(m_Shl(m_LShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY() 114 Match = match(In, m_And(m_Shl(m_AShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY() 122 Match = match(In, m_And(m_Shl(m_Value(BF), m_ConstantInt(CSL)), in INITIALIZE_PASS_DEPENDENCY() 145 Match = match(In, m_Shl(m_LShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY() 152 Match = match(In, m_Shl(m_AShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY()
|
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() 784 if (!match(T, m_Shl(m_Value(Q), m_Specific(CIV))) && in matchLeftShift() 785 !match(T, m_Shl(m_ZExt(m_Value(Q)), m_ZExt(m_Specific(CIV))))) in matchLeftShift()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineShifts.cpp | 217 auto MaskA = m_Add(m_Shl(m_One(), m_Value(MaskShAmt)), m_AllOnes()); in dropRedundantMaskingOfLeftShiftInput() 219 auto MaskB = m_Not(m_Shl(m_AllOnes(), m_Value(MaskShAmt))); in dropRedundantMaskingOfLeftShiftInput() 224 m_LShr(m_Shl(m_AllOnes(), m_Value(MaskShAmt)), m_Deferred(MaskShAmt)); in dropRedundantMaskingOfLeftShiftInput() 267 match(Masked, m_Shr(m_Shl(m_Value(X), m_Value(MaskShAmt)), in dropRedundantMaskingOfLeftShiftInput() 977 if (match(I.getOperand(0), m_Shl(m_Value(), m_Specific(I.getOperand(1))))) { in setShiftFlags() 1360 if (match(Op0, m_Shl(m_Value(X), m_APInt(C1))) && C1->ult(BitWidth)) { in visitLShr() 1404 m_OneUse(m_c_Add(m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))), in visitLShr() 1580 if (match(Op0, m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))))) { in visitLShr() 1587 if (match(Op0, m_Shl(m_AllOnes(), m_Specific(Op1)))) { in visitLShr() 1618 m_AShr(m_Shl(m_Instruction(MaybeTrunc), in foldVariableSignZeroExtensionOfVariableHighBitExtract() [all …]
|
H A D | InstCombineMulDivRem.cpp | 58 if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) && in simplifyValueKnownNonZero() 156 if (match(Y, m_Shl(m_One(), m_Value(Z)))) { in foldMulShl1() 167 match(Shift, m_OneUse(m_Shl(m_One(), m_Value(Z))))) { in foldMulShl1() 181 if (match(Y, m_OneUse(m_Not(m_OneUse(m_Shl(m_AllOnes(), m_Value(Z))))))) { in foldMulShl1() 230 if (match(&I, m_Mul(m_Shl(m_Value(NewOp), m_ImmConstant(C2)), in visitMul() 1094 if (match(Op1, m_Shl(m_Value(X), m_Value(Z))) && in foldIDivShl() 1115 if (match(Op0, m_Shl(m_Value(X), m_Value(Z))) && in foldIDivShl() 1116 match(Op1, m_Shl(m_Value(Y), m_Specific(Z)))) { in foldIDivShl() 1138 if (match(Op0, m_Shl(m_Value(X), m_Value(Y))) && in foldIDivShl() 1139 match(Op1, m_Shl(m_Specific(X), m_Value(Z)))) { in foldIDivShl() [all …]
|
H A D | InstCombineAddSub.cpp | 990 if (match(Op0, m_AShr(m_Shl(m_Value(X), m_APInt(C2)), m_APInt(C3))) && in foldAddWithConstant() 1082 if (match(E, m_Shl(m_Value(Op), m_APInt(AI)))) { in MatchMul() 1216 if (!match(&I, m_Add(m_OneUse(m_Shl(m_One(), m_Value(NBits))), m_AllOnes()))) in canonicalizeLowbitMask() 1260 m_c_Add(m_OneUse(m_Shl(m_OneUse(m_Neg(m_Value(B))), m_Value(Cnt))), in combineAddSubWithShlAddSub() 1389 m_Shl(m_Constant(SignExtendingValueBaseConstant), in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract() 1423 if (!match(Op0, m_Shl(m_Value(X), m_Value(ShAmt))) || in factorizeMathWithShlOps() 1424 !match(Op1, m_Shl(m_Value(Y), m_Specific(ShAmt)))) in factorizeMathWithShlOps() 1461 if (!match(&I, m_c_Add(m_Shl(m_Value(CrossSum), m_SpecificInt(HalfBits)), in foldBoxMultiply() 1597 if (match(LHS, m_Shl(m_SDiv(m_Specific(RHS), m_APInt(C1)), m_APInt(C2)))) { in visitAdd()
|
H A D | InstCombineAndOrXor.cpp | 1921 !match(Op0, m_OneUse(m_Shl(m_Specific(Op1), m_Constant(C)))) && in narrowMaskedBinOp() 2349 (match(Op0, m_OneUse(m_Shl(m_APInt(C), m_Value(X)))) && (*C)[0])) && in visitAnd() 2533 if (match(Op0, m_OneUse(m_LShr(m_Shl(m_ImmConstant(C1), m_Value(X)), in visitAnd() 2549 if (match(Op0, m_OneUse(m_Shl(m_LShr(m_ImmConstant(C1), m_Value(X)), in visitAnd() 2590 if (match(&I, m_And(m_OneUse(m_Shl(m_ZExt(m_Value(X)), m_Value(Y))), in visitAnd() 2978 m_OneUse(m_Shl(m_Value(ZextHigh), m_APInt(ZextHighShlAmt))))) in convertOrOfShiftsToFunnelShift() 3001 if (!match(X, m_Shl(m_Specific(Or1), m_APInt(ZextLowShlAmt))) || in convertOrOfShiftsToFunnelShift() 3058 !match(Op1, m_OneUse(m_Shl(m_Value(ShlVal), m_APInt(C)))) || in matchOrConcat() 3941 if (match(&I, m_c_Or(m_Add(m_Shl(m_One(), m_Value(X)), m_AllOnes()), in visitOr() 3942 m_Shl(m_One(), m_Deferred(X)))) && in visitOr() [all …]
|
H A D | InstCombineCasts.cpp | 743 if (match(Src, m_OneUse(m_Shr(m_Shl(m_Power2(C1), m_Value(X)), in visitTrunc() 770 if (match(Src, m_Shl(m_APInt(C), m_Value(X))) && (*C)[0] == 1) { in visitTrunc() 835 if (match(Src, m_Shl(m_Value(A), m_Constant(C))) && in visitTrunc() 995 m_OneUse(m_c_And(m_Shl(m_One(), m_Value(ShAmt)), m_Value(X))))) { in transformZExtICmp() 1517 if (match(Src, m_AShr(m_Shl(m_Trunc(m_Value(A)), m_Constant(BA)), in visitSExt()
|
H A D | InstCombineCompares.cpp | 1439 if (Cmp.isEquality() && match(X, m_Shl(m_One(), m_Value(Y)))) { in foldICmpTruncConstant() 1969 match(And, m_OneUse(m_c_And(m_OneUse(m_Shl(m_AllOnes(), m_Value(X))), in foldICmpAndConstant() 2233 if (!match(Shl, m_Shl(m_One(), m_Value(Y)))) in foldICmpShlOne() 4426 m_OneUse(m_AShr(m_Shl(m_Value(X), m_APInt(C0)), in foldICmpWithTruncSignExtendedVal() 5350 if (match(Op0, m_Shl(m_Specific(Op1), m_One()))) in foldICmpBinOp() 5353 else if (match(Op1, m_Shl(m_Specific(Op0), m_One()))) in foldICmpBinOp() 5700 if (match(Op0, m_OneUse(m_Shl(m_Value(A), m_ConstantInt(Cst1)))) && in foldICmpEquality() 5701 match(Op1, m_OneUse(m_Shl(m_Value(B), m_Specific(Cst1))))) { in foldICmpEquality() 6591 if (match(LHS, m_Shl(m_Power2(C1), m_Value(X)))) { in foldICmpUsingKnownBits() 6984 m_c_ICmp(Pred, m_OneUse(m_Shl(m_One(), m_Value(Y))), m_Value(X)))) { in foldICmpWithHighBitMask() [all …]
|
H A D | InstCombineSimplifyDemanded.cpp | 755 if (match(I->getOperand(0), m_Shl(m_ImmConstant(C), m_Value(X)))) { in SimplifyDemandedUseBits() 1277 m_AShr(m_Shl(m_Value(X), m_APInt(ShiftLC)), m_APInt(ShiftRC))) && in SimplifyMultipleUseDemandedBits()
|
H A D | InstructionCombining.cpp | 645 if (match(Op, m_Shl(m_Value(), m_ImmConstant(C)))) { in getBinOpsForFactorization() 2799 m_Shl(m_Value(), m_ConstantInt())))))) { in visitGetElementPtrInst() 3772 if (match(Cond, m_Shl(m_Value(Op0), m_ConstantInt(ShiftAmt))) && in visitSwitchInst()
|
H A D | InstCombineSelect.cpp | 651 !match(TVal, m_Zero()) || !match(FVal, m_Shl(m_Specific(X), m_APInt(C2)))) in foldSelectICmpAndZeroShl() 3511 m_OneUse(m_Shl(m_One(), m_OneUse(m_Sub(m_SpecificInt(BitWidth), in foldBitCeil()
|
H A D | InstCombineCalls.cpp | 553 if (match(Op0, m_Shl(m_ImmConstant(C), m_Value(X))) && in foldCttzCtlz()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/ |
H A D | AggressiveInstCombine.cpp | 85 m_Shl(m_Value(ShVal0), m_Value(ShAmt)), in foldGuardedFunnelShift() 94 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift() 641 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))), in foldLoadsRecursive() 656 match(X, m_OneUse(m_Shl(m_OneUse(m_ZExt(m_OneUse(m_Instruction(L1)))), in foldLoadsRecursive()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | InstructionSimplify.cpp | 1534 match(Op0, m_Shl(m_AllOnes(), m_Specific(Op1)))) in simplifyAShrInst() 2055 if (match(Op0, m_Shl(m_Value(X), m_APInt(Shift1))) && in simplifyAndCommutative() 2056 match(Op1, m_Add(m_Shl(m_Specific(X), m_APInt(Shift2)), m_AllOnes())) && in simplifyAndCommutative() 2111 if (match(Op0, m_Shl(m_Value(X), m_APInt(ShAmt))) && in simplifyAndInst() 2379 if ((match(Op0, m_Shl(m_AllOnes(), m_Value(X))) && in simplifyOrInst() 2381 (match(Op1, m_Shl(m_AllOnes(), m_Value(X))) && in simplifyOrInst() 2398 match(Op1, m_Shl(m_Specific(X), m_Specific(Y)))) in simplifyOrInst() 2402 match(Op0, m_Shl(m_Specific(X), m_Specific(Y)))) in simplifyOrInst() 3209 (match(LBO, m_UDiv(m_Shl(m_Specific(RHS), m_APInt(C1)), m_APInt(C2))) && in simplifyICmpWithBinOpOnLHS() 3369 if (match(LHS, m_Shl(m_Power2(), m_Value())) && in simplifyICmpWithBinOp() [all …]
|
H A D | ValueTracking.cpp | 681 } else if (match(LHS, m_Shl(m_V, m_ConstantInt(ShAmt))) && in computeKnownBitsFromCmp() 2243 if (match(I, m_Shl(m_One(), m_Value()))) in isKnownToBeAPowerOfTwo() 3483 return match(OBO, m_Shl(m_Specific(V1), m_APInt(C))) && in isNonEqualShl()
|
H A D | ScalarEvolution.cpp | 9351 else if (match(V, m_Shl(m_Value(OutLHS), m_ConstantInt(ShiftAmt)))) in computeShiftCompareExitLimit()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | StraightLineStrengthReduce.cpp | 413 } else if (match(RHS, m_Shl(m_Value(S), m_ConstantInt(Idx)))) { in allocateCandidatesAndFindBasisForAdd()
|
H A D | LoopIdiomRecognize.cpp | 2458 m_LoopInvariant(m_Shl(m_One(), m_Value(BitPos)), in detectShiftUntilBitTestIdiom() 2495 if (!NextX || !match(NextX, m_Shl(m_Specific(CurrX), m_One()))) { in detectShiftUntilBitTestIdiom()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | SimplifyIndVar.cpp | 835 m_AShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C))) || in strengthenRightShift() 837 m_LShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C)))) { in strengthenRightShift()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | SDPatternMatch.h | 611 inline BinaryOpc_match<LHS, RHS, false> m_Shl(const LHS &L, const RHS &R) {
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | PatternMatch.h | 1224 inline BinaryOp_match<LHS, RHS, Instruction::Shl> m_Shl(const LHS &L, in m_Shl() function
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | CodeGenPrepare.cpp | 8002 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | DAGCombiner.cpp | 3143 if (sd_match(N1, m_Shl(m_Neg(m_Value(Y)), m_Value(N)))) in visitADDLikeCommutative() 7817 m_OneUse(m_Shl(m_AnyExt(m_Value(Hi)), m_SpecificInt(BW / 2)))) && in visitORCommutative() 11111 sd_match(N, m_BitReverse(m_Shl(m_BitReverse(m_Value(X)), m_Value(Y))))) in visitBITREVERSE()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64ISelLowering.cpp | 16000 if (match(Op, m_Shl(m_VScale(), m_ConstantInt())) || in shouldSinkVScale() 16005 if (match(Op, m_Shl(m_ZExt(m_VScale()), m_ConstantInt())) || in shouldSinkVScale()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | SLPVectorizer.cpp | 10059 (match(ZextLoad, m_Shl(m_Value(), m_APInt(ShAmtC))) && in isLoadCombineCandidateImpl()
|