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

References

include/llvm/IR/PatternMatch.h
 1325   return m_CombineOr(m_ZExt(Op), Op);
 1338   return m_CombineOr(m_ZExt(Op), m_SExt(Op));
lib/Analysis/InstructionSimplify.cpp
  939       (match(Op1, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)))
 2791   if (!CmpInst::isUnsigned(Pred) && match(LHS, m_Neg(m_ZExt(m_Value())))) {
lib/CodeGen/CodeGenPrepare.cpp
 6701              m_c_Or(m_OneUse(m_ZExt(m_Value(LValue))),
 6702                     m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))),
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
  768       !match(T, m_Shl(m_ZExt(m_Value(Q)), m_ZExt(m_Specific(CIV)))))
  768       !match(T, m_Shl(m_ZExt(m_Value(Q)), m_ZExt(m_Specific(CIV)))))
lib/Transforms/InstCombine/InstCombineAddSub.cpp
  839       match(Op0, m_OneUse(m_ZExt(m_NUWAdd(m_Value(X), m_APInt(C2))))) &&
  856   if (match(Op0, m_OneUse(m_ZExt(m_NUWAdd(m_Value(X), m_Constant(NarrowC)))))) {
  890   if (match(Op0, m_ZExt(m_Value(X))) &&
  921   if (match(Op0, m_ZExt(m_Xor(m_Value(X), m_APInt(C2)))) &&
 1732     if (match(Op1, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) {
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
 1511   if (match(Cast, m_OneUse(m_ZExt(m_Value(X))))) {
 1697   if (!match(Op1, m_ZExt(m_Value(X))) || Op1->hasNUsesOrMore(3))
 1828         if (match(Op0I, m_OneUse(m_c_BinOp(m_OneUse(m_ZExt(m_Value(X))),
 2065     if (match(L, m_ZExt(m_And(m_Value(X), m_SpecificInt(Mask)))) &&
 2066         match(R, m_And(m_Neg(m_ZExt(m_And(m_Specific(X), m_SpecificInt(Mask)))),
lib/Transforms/InstCombine/InstCombineCalls.cpp
 3721         ((match(Src1, m_One()) && match(Src0, m_ZExt(m_Value(ExtSrc)))) ||
lib/Transforms/InstCombine/InstCombineCasts.cpp
  540     if (match(L, m_ZExt(m_And(m_Value(X), m_SpecificInt(Mask)))) &&
  541         match(R, m_ZExt(m_And(m_Neg(m_Specific(X)), m_SpecificInt(Mask)))))
  760       match(Src, m_LShr(m_ZExt(m_Value(A)), m_ConstantInt(Cst)))) {
lib/Transforms/InstCombine/InstCombineCompares.cpp
 4197   if ((Op0->hasOneUse() && match(Op0, m_ZExt(m_Value(A))) &&
 4200        match(Op1, m_ZExt(m_Value(A))))) {
 5552     if (match(Op0, m_Mul(m_ZExt(m_Value(A)), m_ZExt(m_Value(B))))) {
 5552     if (match(Op0, m_Mul(m_ZExt(m_Value(A)), m_ZExt(m_Value(B))))) {
 5556     if (match(Op1, m_Mul(m_ZExt(m_Value(A)), m_ZExt(m_Value(B))))) {
 5556     if (match(Op1, m_Mul(m_ZExt(m_Value(A)), m_ZExt(m_Value(B))))) {
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  359   if (match(Op0, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1))
  361   if (match(Op1, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1))
  862   if (!match(Op1, m_ZExt(m_Value(ShiftLeft))))
  897       match(Op1, m_ZExt(m_Shl(m_Power2(), m_Value())))) {
  926   if (match(N, m_ZExt(m_Value(X))) && match(D, m_ZExt(m_Value(Y))) &&
  926   if (match(N, m_ZExt(m_Value(X))) && match(D, m_ZExt(m_Value(Y))) &&
  935   if ((match(N, m_OneUse(m_ZExt(m_Value(X)))) && match(D, m_Constant(C))) ||
  936       (match(D, m_OneUse(m_ZExt(m_Value(X)))) && match(N, m_Constant(C)))) {
lib/Transforms/InstCombine/InstCombineSelect.cpp
  859   if (match(Count, m_ZExt(m_Value(V))) ||
  950       if (match(TrueVal, m_ZExt(m_Specific(CmpLHS))) && ZextRHS == FalseVal) {
  953       } else if (match(FalseVal, m_ZExt(m_Specific(CmpLHS))) &&
lib/Transforms/InstCombine/InstCombineShifts.cpp
  872     if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) {
  952     if (match(Op0, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) {
 1035     if (match(Op0, m_OneUse(m_ZExt(m_Value(X)))) &&
 1187     if (match(Op0, m_Shl(m_ZExt(m_Value(X)), m_Specific(Op1))) &&
lib/Transforms/InstCombine/InstructionCombining.cpp
 1576   if (!IsSext && !match(Op0, m_ZExt(m_Value(X))))
lib/Transforms/Vectorize/SLPVectorizer.cpp
 3313   if (!match(ZextLoad, m_ZExt(m_Load(m_Value(LoadPtr)))))
unittests/IR/PatternMatch.cpp
  485   EXPECT_FALSE(m_ZExt(m_One()).match(One32));
  486   EXPECT_TRUE(m_ZExt(m_One()).match(One64Z));
  487   EXPECT_FALSE(m_ZExt(m_One()).match(One64S));