reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/IR/PatternMatch.h
 1923     auto RHS = m_LShr(m_Neg(m_Value(OpR)), m_SpecificInt(ShiftWidth));
lib/Analysis/InstructionSimplify.cpp
 1950     if (match(Op0, m_LShr(m_Value(X), m_APInt(ShAmt))) &&
 2874   if (LBO && (match(LBO, m_LShr(m_Specific(RHS), m_Value())) ||
 2885   if (RBO && (match(RBO, m_LShr(m_Specific(LHS), m_Value())) ||
lib/Analysis/ScalarEvolution.cpp
 7588     if (match(V, m_LShr(m_Value(OutLHS), m_ConstantInt(ShiftAmt))))
lib/Analysis/ValueTracking.cpp
 1759   if (match(V, m_LShr(m_SignMask(), m_Value())))
 1770                  match(V, m_LShr(m_Value(X), m_Value()))))
 1826   if (match(V, m_Exact(m_LShr(m_Value(), m_Value()))) ||
lib/Target/Hexagon/HexagonGenExtract.cpp
  105   bool Match = match(In, m_And(m_Shl(m_LShr(m_Value(BF), m_ConstantInt(CSR)),
  129     Match = match(In, m_And(m_LShr(m_Value(BF), m_ConstantInt(CSR)),
  143     Match = match(In, m_Shl(m_LShr(m_Value(BF), m_ConstantInt(CSR)),
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
  827     if (!match(TrueV, m_LShr(m_Value(R), m_One())))
  838     if (!match(FalseV, m_LShr(m_Value(R), m_One())))
 1309     if (!match(&I, m_LShr(m_Value(V), m_One())))
 1399     if (match(&*I, m_LShr(m_Value(V), m_One()))) {
lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
   84         m_c_Or(m_Shl(m_Value(L0), m_Value(L1)), m_LShr(m_Value(R0), Sub)));
   93         m_c_Or(m_LShr(m_Value(L0), m_Value(L1)), m_Shl(m_Value(R0), Sub)));
  197   if (!match(V, m_LShr(m_Value(Candidate), m_ConstantInt(BitIndex))))
  291     if (match(MulOp0, m_And(m_c_Add(m_LShr(m_Value(ShiftOp0), m_SpecificInt(4)),
  298                         m_And(m_LShr(m_Deferred(AndOp0), m_SpecificInt(2)),
  303             match(SubOp1, m_And(m_LShr(m_Specific(Root), m_SpecificInt(1)),
lib/Transforms/InstCombine/InstCombineAddSub.cpp
 1002     if (match(E, m_LShr(m_Value(Op), m_APInt(AI)))) {
 1113                                m_LShr(m_Value(X), m_Instruction(LowBitsToSkip)),
 1786           match(Op1Wide, m_LShr(m_Value(X), m_APInt(ShAmt))) &&
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
 1691       !match(Op0, m_OneUse(m_LShr(m_Specific(Op1), m_Constant(C)))) &&
 3065     if (match(NotVal, m_LShr(m_Constant(C), m_Value(Y))) &&
lib/Transforms/InstCombine/InstCombineCasts.cpp
  465                                   m_LShr(m_BitCast(m_Value(VecInput)),
  739     if (match(Src, m_OneUse(m_LShr(m_Value(X), m_APInt(C))))) {
  745     if (match(Src, m_OneUse(m_c_Or(m_LShr(m_Value(X), m_APInt(C)),
  760       match(Src, m_LShr(m_ZExt(m_Value(A)), m_ConstantInt(Cst)))) {
  787       match(Src, m_LShr(m_SExt(m_Value(A)), m_ConstantInt(Cst)))) {
lib/Transforms/InstCombine/InstCombineCompares.cpp
 1793         match(LShr, m_LShr(m_Specific(A), m_Value(B)))) {
 3285       m_CombineOr(m_LShr(m_AllOnes(), m_Value()),
 3286                   m_LShr(m_Shl(m_AllOnes(), m_Value(Y)), m_Deferred(Y))));
 3485   if (match(YShift, m_LShr(m_Value(), m_Value())))
 3536   if (HadTrunc && match(WidestShift, m_LShr(m_Value(), m_Value()))) {
 4209   if ((match(Op0, m_OneUse(m_LShr(m_Value(A), m_ConstantInt(Cst1)))) &&
 4210        match(Op1, m_OneUse(m_LShr(m_Value(B), m_Specific(Cst1))))) ||
 4242       match(Op0, m_Trunc(m_OneUse(m_LShr(m_Value(A), m_ConstantInt(ShAmt))))) &&
 5019           match(LHS, m_LShr(m_Power2(CI), m_Value(X)))) {
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
   61   if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) &&
  371   if (match(Op0, m_LShr(m_Value(X), m_APInt(C))) && *C == C->getBitWidth() - 1)
  373   if (match(Op1, m_LShr(m_Value(X), m_APInt(C))) && *C == C->getBitWidth() - 1)
  969   if (match(Op0, m_LShr(m_Value(X), m_APInt(C1))) && match(Op1, m_APInt(C2))) {
lib/Transforms/InstCombine/InstCombineSelect.cpp
  516   const bool HasShift = match(B, m_OneUse(m_LShr(m_Value(X), m_Value(Z))));
  562   if (match(TrueVal, m_LShr(m_Value(X), m_Value(Y))) &&
lib/Transforms/InstCombine/InstCombineShifts.cpp
  409   if ((IsLeftShift && match(I, m_LShr(m_Value(), m_ConstantInt(CI)))) ||
 1069     if (match(Op0, m_LShr(m_Value(X), m_APInt(ShOp1)))) {
lib/Transforms/Utils/SimplifyIndVar.cpp
  776                 m_LShr(m_Shl(m_Value(), m_Specific(IVOperand)), m_APInt(C)))) {