| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonGenExtract.cpp | 96 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 D | HexagonLoopIdiomRecognition.cpp | 701 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 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() 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 D | InstCombineMulDivRem.cpp | 59 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 D | InstCombineAddSub.cpp | 990 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 D | InstCombineAndOrXor.cpp | 1976 !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 D | InstCombineCasts.cpp | 810 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 D | InstCombineCompares.cpp | 1475 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 D | InstCombineSimplifyDemanded.cpp | 770 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 D | InstructionCombining.cpp | 674 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 D | InstCombineSelect.cpp | 697 !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 D | InstCombineCalls.cpp | 552 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() 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 D | InstructionSimplify.cpp | 1485 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 D | ValueTracking.cpp | 223 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 D | StraightLineStrengthReduce.cpp | 417 } else if (match(RHS, m_Shl(m_Value(S), m_ConstantInt(Idx)))) { in allocateCandidatesAndFindBasisForAdd()
|
| H A D | LoopIdiomRecognize.cpp | 2763 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 D | SimplifyIndVar.cpp | 837 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 D | SDPatternMatch.h | 868 inline BinaryOpc_match<LHS, RHS> m_Shl(const LHS &L, const RHS &R) {
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 1873 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 D | AArch64TargetTransformInfo.cpp | 6096 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 D | PatternMatch.h | 1273 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 D | DAGCombiner.cpp | 3303 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 D | CodeGenPrepare.cpp | 8394 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86TargetTransformInfo.cpp | 7177 match(Op.get(), m_AShr(m_Shl(m_Value(), m_SpecificInt(32)), in isProfitableToSinkOperands()
|