Home
last modified time | relevance | path

Searched refs:m_Shl (Results 1 – 25 of 29) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonGenExtract.cpp96 bool Match = match(In, m_And(m_Shl(m_LShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY()
103 Match = match(In, m_And(m_Shl(m_AShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY()
111 Match = match(In, m_And(m_Shl(m_Value(BF), m_ConstantInt(CSL)), in INITIALIZE_PASS_DEPENDENCY()
134 Match = match(In, m_Shl(m_LShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY()
141 Match = match(In, m_Shl(m_AShr(m_Value(BF), m_ConstantInt(CSR)), in INITIALIZE_PASS_DEPENDENCY()
H A DHexagonLoopIdiomRecognition.cpp701 if (match(A, m_Shl(m_One(), m_Specific(CIV)))) { in matchLeftShift()
704 } else if (match(B, m_Shl(m_One(), m_Specific(CIV)))) { in matchLeftShift()
774 if (!match(T, m_Shl(m_Value(Q), m_Specific(CIV))) && in matchLeftShift()
775 !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 DInstCombineShifts.cpp217 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()
993 if (match(I.getOperand(0), m_Shl(m_Value(), m_Specific(I.getOperand(1))))) { in setShiftFlags()
1382 if (match(Op0, m_Shl(m_Value(X), m_APInt(C1))) && C1->ult(BitWidth)) { in visitLShr()
1426 m_OneUse(m_c_Add(m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))), in visitLShr()
1607 if (match(Op0, m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))))) { in visitLShr()
1614 if (match(Op0, m_Shl(m_AllOnes(), m_Specific(Op1)))) { in visitLShr()
1625 if (match(Op0, m_Shl(m_Value(Shl0_Op0), m_Value(Shl0_Op1))) && in visitLShr()
[all …]
H A DInstCombineMulDivRem.cpp59 if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) && in simplifyValueKnownNonZero()
153 if (match(Y, m_Shl(m_One(), m_Value(Z)))) { in foldMulShl1()
164 match(Shift, m_OneUse(m_Shl(m_One(), m_Value(Z))))) { in foldMulShl1()
178 if (match(Y, m_OneUse(m_Not(m_OneUse(m_Shl(m_AllOnes(), m_Value(Z))))))) { in foldMulShl1()
224 if (match(&I, m_Mul(m_Shl(m_Value(NewOp), m_ImmConstant(C2)), in visitMul()
1202 if (match(Op1, m_Shl(m_Value(X), m_Value(Z))) && in foldIDivShl()
1223 if (match(Op0, m_Shl(m_Value(X), m_Value(Z))) && in foldIDivShl()
1224 match(Op1, m_Shl(m_Value(Y), m_Specific(Z)))) { in foldIDivShl()
1246 if (match(Op0, m_Shl(m_Value(X), m_Value(Y))) && in foldIDivShl()
1247 match(Op1, m_Shl(m_Specific(X), m_Value(Z)))) { in foldIDivShl()
[all …]
H A DInstCombineAddSub.cpp990 if (match(Op0, m_AShr(m_Shl(m_Value(X), m_APInt(C2)), m_APInt(C3))) && in foldAddWithConstant()
1088 if (match(E, m_Shl(m_Value(Op), m_APInt(AI)))) { in MatchMul()
1224 if (!match(&I, m_Add(m_OneUse(m_Shl(m_One(), m_Value(NBits))), m_AllOnes()))) in canonicalizeLowbitMask()
1269 m_c_Add(m_OneUse(m_Shl(m_OneUse(m_Neg(m_Value(B))), m_Value(Cnt))), in combineAddSubWithShlAddSub()
1334 if (match(LHS, m_Shl(m_SDiv(m_Specific(RHS), m_APInt(C1)), m_APInt(C2)))) { in foldAddLikeCommutative()
1424 m_Shl(m_Constant(SignExtendingValueBaseConstant), in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1458 if (!match(Op0, m_Shl(m_Value(X), m_Value(ShAmt))) || in factorizeMathWithShlOps()
1459 !match(Op1, m_Shl(m_Value(Y), m_Specific(ShAmt)))) in factorizeMathWithShlOps()
1496 if (!match(&I, m_c_Add(m_Shl(m_Value(CrossSum), m_SpecificInt(HalfBits)), in foldBoxMultiply()
H A DInstCombineAndOrXor.cpp1976 !match(Op0, m_OneUse(m_Shl(m_Specific(Op1), m_Constant(C)))) && in narrowMaskedBinOp()
2426 (match(Op0, m_OneUse(m_Shl(m_APInt(C), m_Value(X)))) && (*C)[0])) && in visitAnd()
2610 if (match(Op0, m_OneUse(m_LShr(m_Shl(m_ImmConstant(C1), m_Value(X)), in visitAnd()
2626 if (match(Op0, m_OneUse(m_Shl(m_LShr(m_ImmConstant(C1), m_Value(X)), in visitAnd()
2668 if (match(&I, m_And(m_OneUse(m_Shl(m_ZExt(m_Value(X)), m_Value(Y))), in visitAnd()
3025 m_OneUse(m_Shl(m_Value(ZextHigh), m_APInt(ZextHighShlAmt))))) in convertOrOfShiftsToFunnelShift()
3048 if (!match(X, m_Shl(m_Specific(Or1), m_APInt(ZextLowShlAmt))) || in convertOrOfShiftsToFunnelShift()
3105 !match(Op1, m_OneUse(m_Shl(m_Value(ShlVal), m_APInt(C)))) || in matchOrConcat()
4188 if (match(&I, m_c_Or(m_Add(m_Shl(m_One(), m_Value(X)), m_AllOnes()), in visitOr()
4189 m_Shl(m_One(), m_Deferred(X)))) && in visitOr()
[all …]
H A DInstCombineCasts.cpp810 if (match(Src, m_OneUse(m_Shr(m_Shl(m_Power2(C1), m_Value(X)), in visitTrunc()
843 if (match(Src, m_Shl(m_APInt(C), m_Value(X))) && (*C)[0] == 1) { in visitTrunc()
908 if (match(Src, m_Shl(m_Value(A), m_Constant(C))) && in visitTrunc()
1042 m_OneUse(m_c_And(m_Shl(m_One(), m_Value(ShAmt)), m_Value(X))))) { in transformZExtICmp()
1568 if (match(Src, m_AShr(m_Shl(m_Trunc(m_Value(A)), m_Constant(BA)), in visitSExt()
H A DInstCombineCompares.cpp1475 if (Cmp.isEquality() && match(X, m_Shl(m_One(), m_Value(Y)))) { in foldICmpTruncConstant()
1999 match(And, m_OneUse(m_c_And(m_OneUse(m_Shl(m_AllOnes(), m_Value(X))), in foldICmpAndConstant()
4642 m_OneUse(m_AShr(m_Shl(m_Value(X), m_APInt(C0)), in foldICmpWithTruncSignExtendedVal()
5627 if (match(Op0, m_Shl(m_Specific(Op1), m_One()))) in foldICmpBinOp()
5630 else if (match(Op1, m_Shl(m_Specific(Op0), m_One()))) in foldICmpBinOp()
6104 if (match(Op0, m_OneUse(m_Shl(m_Value(A), m_ConstantInt(Cst1)))) && in foldICmpEquality()
6105 match(Op1, m_OneUse(m_Shl(m_Value(B), m_Specific(Cst1))))) { in foldICmpEquality()
6993 if (match(LHS, m_Shl(m_Power2(C1), m_Value(X)))) { in foldICmpUsingKnownBits()
7268 m_c_ICmp(Pred, m_OneUse(m_Shl(m_One(), m_Value(Y))), m_Value(X)))) { in foldICmpWithHighBitMask()
7281 m_Not(m_Shl(m_AllOnes(), m_Value(Y))), in foldICmpWithHighBitMask()
[all …]
H A DInstCombineSimplifyDemanded.cpp770 if (match(I->getOperand(0), m_Shl(m_ImmConstant(C), m_Value(X)))) { in SimplifyDemandedUseBits()
1281 m_AShr(m_Shl(m_Value(X), m_APInt(ShiftLC)), m_APInt(ShiftRC))) && in SimplifyMultipleUseDemandedBits()
H A DInstructionCombining.cpp674 if (match(Op, m_Shl(m_Value(), m_ImmConstant(C)))) { in getBinOpsForFactorization()
2956 m_Shl(m_Value(), m_ConstantInt()))))) in shouldCanonicalizeGEPToPtrAdd()
4162 if (match(Cond, m_Shl(m_Value(Op0), m_ConstantInt(ShiftAmt))) && in visitSwitchInst()
H A DInstCombineSelect.cpp697 !match(TVal, m_Zero()) || !match(FVal, m_Shl(m_Specific(X), m_APInt(C2)))) in foldSelectICmpAndZeroShl()
3604 m_OneUse(m_Shl(m_One(), m_OneUse(m_Sub(m_SpecificInt(BitWidth), in foldBitCeil()
H A DInstCombineCalls.cpp552 if (match(Op0, m_Shl(m_ImmConstant(C), m_Value(X))) && in foldCttzCtlz()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DAggressiveInstCombine.cpp85 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()
649 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))), in foldLoadsRecursive()
664 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 DInstructionSimplify.cpp1485 match(Op0, m_Shl(m_AllOnes(), m_Specific(Op1)))) in simplifyAShrInst()
2010 if (match(Op0, m_Shl(m_Value(X), m_APInt(Shift1))) && in simplifyAndCommutative()
2011 match(Op1, m_Add(m_Shl(m_Specific(X), m_APInt(Shift2)), m_AllOnes())) && in simplifyAndCommutative()
2065 if (match(Op0, m_Shl(m_Value(X), m_APInt(ShAmt))) && in simplifyAndInst()
2333 if ((match(Op0, m_Shl(m_AllOnes(), m_Value(X))) && in simplifyOrInst()
2335 (match(Op1, m_Shl(m_AllOnes(), m_Value(X))) && in simplifyOrInst()
2352 match(Op1, m_Shl(m_Specific(X), m_Specific(Y)))) in simplifyOrInst()
2356 match(Op0, m_Shl(m_Specific(X), m_Specific(Y)))) in simplifyOrInst()
3198 (match(LBO, m_UDiv(m_Shl(m_Specific(RHS), m_APInt(C1)), m_APInt(C2))) && in simplifyICmpWithBinOpOnLHS()
3358 if (match(LHS, m_Shl(m_Power2(), m_Value())) && in simplifyICmpWithBinOp()
[all …]
H A DValueTracking.cpp223 if (((match(RHS, m_Shl(m_Value(), m_Sub(m_APInt(R), m_Value(V)))) && in haveNoCommonBitsSetSpecialCases()
226 match(LHS, m_Shl(m_Value(), m_Specific(V))))) && in haveNoCommonBitsSetSpecialCases()
726 } else if (match(LHS, m_Shl(m_V, m_ConstantInt(ShAmt))) && in computeKnownBitsFromCmp()
2467 if (match(I, m_Shl(m_One(), m_Value()))) in isKnownToBeAPowerOfTwo()
3713 return match(OBO, m_Shl(m_Specific(V1), m_APInt(C))) && in isNonEqualShl()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DStraightLineStrengthReduce.cpp417 } else if (match(RHS, m_Shl(m_Value(S), m_ConstantInt(Idx)))) { in allocateCandidatesAndFindBasisForAdd()
H A DLoopIdiomRecognize.cpp2763 m_LoopInvariant(m_Shl(m_One(), m_Value(BitPos)), in detectShiftUntilBitTestIdiom()
2801 if (!NextX || !match(NextX, m_Shl(m_Specific(CurrX), m_One()))) { in detectShiftUntilBitTestIdiom()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp837 m_AShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C))) || in strengthenRightShift()
839 m_LShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C)))) { in strengthenRightShift()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DSDPatternMatch.h868 inline BinaryOpc_match<LHS, RHS> m_Shl(const LHS &L, const RHS &R) {
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp1873 m_Shl(m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcX))))), in foldConcatOfBoolMasks()
1881 m_Shl(m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcY))))), in foldConcatOfBoolMasks()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.cpp6096 if (match(Op, m_Shl(m_VScale(), m_ConstantInt())) || in shouldSinkVScale()
6101 if (match(Op, m_Shl(m_ZExt(m_VScale()), m_ConstantInt())) || in shouldSinkVScale()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DPatternMatch.h1273 inline BinaryOp_match<LHS, RHS, Instruction::Shl> m_Shl(const LHS &L, in m_Shl() function
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp3303 if (sd_match(N1, m_Shl(m_Neg(m_Value(Y)), m_Value(N)))) in visitADDLikeCommutative()
8277 m_OneUse(m_Shl(m_AnyExt(m_Value(Hi)), m_SpecificInt(BW / 2)))) && in visitORCommutative()
8828 if (sd_match(N0, m_Shl(m_Value(X), m_One())) && in MatchFunnelPosNeg()
11171 m_OneUse(m_Shl(m_AllOf(m_Value(ZExtY), in visitSRL()
11581 sd_match(N, m_BitReverse(m_Shl(m_BitReverse(m_Value(X)), m_Value(Y))))) in visitBITREVERSE()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DCodeGenPrepare.cpp8394 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86TargetTransformInfo.cpp7177 match(Op.get(), m_AShr(m_Shl(m_Value(), m_SpecificInt(32)), in isProfitableToSinkOperands()

12