Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonGenExtract.cpp107 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 DHexagonLoopIdiomRecognition.cpp711 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 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()
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 DInstCombineMulDivRem.cpp58 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 DInstCombineAddSub.cpp990 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 DInstCombineAndOrXor.cpp1921 !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 DInstCombineCasts.cpp743 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 DInstCombineCompares.cpp1439 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 DInstCombineSimplifyDemanded.cpp755 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 DInstructionCombining.cpp645 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 DInstCombineSelect.cpp651 !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 DInstCombineCalls.cpp553 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()
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 DInstructionSimplify.cpp1534 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 DValueTracking.cpp681 } 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 DScalarEvolution.cpp9351 else if (match(V, m_Shl(m_Value(OutLHS), m_ConstantInt(ShiftAmt)))) in computeShiftCompareExitLimit()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DStraightLineStrengthReduce.cpp413 } else if (match(RHS, m_Shl(m_Value(S), m_ConstantInt(Idx)))) { in allocateCandidatesAndFindBasisForAdd()
H A DLoopIdiomRecognize.cpp2458 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 DSimplifyIndVar.cpp835 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 DSDPatternMatch.h611 inline BinaryOpc_match<LHS, RHS, false> m_Shl(const LHS &L, const RHS &R) {
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DPatternMatch.h1224 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 DCodeGenPrepare.cpp8002 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp3143 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 DAArch64ISelLowering.cpp16000 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 DSLPVectorizer.cpp10059 (match(ZextLoad, m_Shl(m_Value(), m_APInt(ShAmtC))) && in isLoadCombineCandidateImpl()

12