| /llvm-project-15.0.7/mlir/lib/Transforms/Utils/ |
| H A D | FoldUtils.cpp | 59 assert(matchPattern(constOp, m_Constant())); in materializeConstant() 126 matchPattern(op, m_Constant(&constValue)); in insertKnownConstant() 132 matchPattern(op, m_Constant(&expectedValue)); in insertKnownConstant() 177 matchPattern(op, m_Constant(&constValue)); in notifyRemoval() 233 return !matchPattern(o.get(), m_Constant()); in tryToFold() 248 matchPattern(op->getOperand(i), m_Constant(&operandConstants[i])); in tryToFold()
|
| H A D | ControlFlowSinkUtils.cpp | 140 (void)matchPattern(it.value(), m_Constant(&operands[it.index()])); in getSinglyExecutedRegionsToSink()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Math/Transforms/ |
| H A D | AlgebraicSimplification.cpp | 49 bool isScalar = matchPattern(op.getRhs(), m_Constant(&scalarExponent)); in matchAndRewrite() 50 bool isVector = matchPattern(op.getRhs(), m_Constant(&vectorExponent)); in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Tosa/Transforms/ |
| H A D | TosaFoldConstantTranspose.cpp | 34 if (!matchPattern(op.getInput1(), m_Constant(&inputValues))) in matchAndRewrite() 41 if (!matchPattern(op.getPerms(), m_Constant(&permAttr))) in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Tosa/IR/ |
| H A D | TosaCanonicalizations.cpp | 91 if (!matchPattern(input, m_Constant(&inputAttr))) in matchAndRewrite() 139 if (!matchPattern(perm, m_Constant(&permAttr))) { in matchAndRewrite() 172 if (matchPattern(input1, m_Constant(&input1Attr)) && input1Attr.isSplat() && in matchAndRewrite() 182 if (matchPattern(input2, m_Constant(&input2Attr)) && input2Attr.isSplat() && in matchAndRewrite() 209 if (matchPattern(input1, m_Constant(&input1Attr)) && input1Attr.isSplat() && in matchAndRewrite() 225 if (matchPattern(input2, m_Constant(&input2Attr)) && input2Attr.isSplat() && in matchAndRewrite()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineMulDivRem.cpp | 175 if (match(&I, m_Mul(m_Shl(m_Value(NewOp), m_Constant(C2)), in visitMul() 176 m_Constant(C1))) && in visitMul() 190 if (match(&I, m_Mul(m_Value(NewOp), m_Constant(C1)))) { in visitMul() 227 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_Constant(C1))))) { in visitMul() 251 if (match(Op0, m_Neg(m_Value(X))) && match(Op1, m_Constant(Op1C))) in visitMul() 494 if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_Constant(C))) in visitFMul() 504 if (match(Op1, m_Constant(C)) && C->isFiniteNonZeroFP()) { in visitFMul() 513 if (match(Op0, m_FDiv(m_Value(X), m_Constant(C1)))) { in visitFMul() 1224 if (!match(I.getOperand(1), m_Constant(C))) in foldFDivConstantDivisor() 1255 if (!match(I.getOperand(0), m_Constant(C))) in foldFDivConstantDividend() [all …]
|
| H A D | InstCombineShifts.cpp | 337 if (!match(I.getOperand(1), m_Constant(C1))) in foldShiftOfShiftedLogic() 350 match(V, m_OneUse(m_Shift(m_Value(X), m_Constant(C0)))) && in foldShiftOfShiftedLogic() 407 if (match(Op0, m_Constant(C)) && in commonShiftTransforms() 408 match(Op1, m_NUWAdd(m_Value(A), m_Constant(C1)))) { in commonShiftTransforms() 457 if (Op1->hasOneUse() && match(Op1, m_SRem(m_Value(A), m_Constant(C))) && in commonShiftTransforms() 729 if (match(Op0, m_BinOp(I.getOpcode(), m_Constant(C2), m_Value(X)))) in FoldShiftByConstant() 1035 if (match(Op1, m_Constant(C1))) { in visitShl() 1039 if (match(Op0, m_Mul(m_Value(X), m_Constant(C2)))) in visitShl() 1319 m_ZExtOrSelf(m_Sub(m_Constant(C1), in foldVariableSignZeroExtensionOfVariableHighBitExtract() 1321 m_ZExtOrSelf(m_Sub(m_Constant(C2), in foldVariableSignZeroExtensionOfVariableHighBitExtract() [all …]
|
| H A D | InstCombineAddSub.cpp | 815 if (!match(Op1, m_Constant(Op1C))) in foldNoWrapAdd() 833 if (match(Op0, m_OneUse(m_SExt(m_NSWAdd(m_Value(X), m_Constant(NarrowC)))))) { in foldNoWrapAdd() 863 if (match(Op0, m_Sub(m_Constant(Op00C), m_Value(X)))) in foldAddWithConstant() 1173 m_ZExtOrSelf(m_Sub(m_Constant(C), m_ZExtOrSelf(m_Value(NBits))))) || in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract() 1217 m_Shl(m_Constant(SignExtendingValueBaseConstant), in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract() 2060 if (match(Op0, m_OneUse(m_And(m_Specific(Op1), m_Constant(C))))) { in visitSub() 2254 if (match(FNegOp, m_FMul(m_Value(X), m_Constant(C)))) in foldFNegIntoConstant() 2257 if (match(FNegOp, m_FDiv(m_Value(X), m_Constant(C)))) in foldFNegIntoConstant() 2260 if (match(FNegOp, m_FDiv(m_Constant(C), m_Value(X)))) { in foldFNegIntoConstant() 2458 if (match(Op0, m_FMul(m_Specific(Op1), m_Constant(C)))) { in visitFSub() [all …]
|
| H A D | InstCombineAndOrXor.cpp | 1105 if (!match(Cmp0, m_ICmp(Pred0, m_Value(X), m_Constant(C))) || in foldAndOrOfICmpsWithConstEq() 1553 if (!match(Op0, m_OneUse(m_Add(m_Specific(Op1), m_Constant(C)))) && in narrowMaskedBinOp() 1554 !match(Op0, m_OneUse(m_Mul(m_Specific(Op1), m_Constant(C)))) && in narrowMaskedBinOp() 1557 !match(Op0, m_OneUse(m_Sub(m_Constant(C), m_Specific(Op1))))) in narrowMaskedBinOp() 2242 if (match(L, m_Constant(LC)) && match(R, m_Constant(RC)) && in matchFunnelShift() 2408 if (match(A, m_Constant(AConst)) && match(B, m_Constant(BConst))) in getSelectCondition() 3321 if (D->hasOneUse() && match(M, m_Constant(C))) { in visitMaskedMerge() 3511 if (match(NotVal, m_AShr(m_Constant(C), m_Value(Y))) && in foldNot() 3521 if (match(NotVal, m_LShr(m_Constant(C), m_Value(Y))) && in foldNot() 3661 if (match(Op1, m_Constant(C1))) { in visitXor() [all …]
|
| H A D | InstCombineVectorOps.cpp | 1352 match(InsElt2.getOperand(1), m_Constant(ScalarC)) && in hoistInsEltConst() 1374 if (!match(Shuf->getOperand(1), m_Constant(ShufConstVec)) || in foldConstantInsEltIntoShuffle() 1375 !match(InsElt.getOperand(1), m_Constant(InsEltScalar)) || in foldConstantInsEltIntoShuffle() 1431 !match(InsElt.getOperand(1), m_Constant(Val[0])) || in foldConstantInsEltIntoShuffle() 1433 !match(IEI->getOperand(1), m_Constant(Val[1]))) in foldConstantInsEltIntoShuffle() 1936 if (match(BO1, m_Constant(C))) { in getAlternateBinop() 1968 if (match(Op0, m_BinOp(m_Specific(Op1), m_Constant(C)))) in foldSelectShuffleWith1Binop() 1970 else if (match(Op1, m_BinOp(m_Specific(Op0), m_Constant(C)))) in foldSelectShuffleWith1Binop() 2078 if (match(B0, m_BinOp(m_Constant(C0), m_Value(X))) && in foldSelectShuffle() 2079 match(B1, m_BinOp(m_Constant(C1), m_Value(Y)))) in foldSelectShuffle() [all …]
|
| H A D | InstCombineCasts.cpp | 664 if (match(BinOp0, m_Constant(C))) { in narrowBinOp() 670 if (match(BinOp1, m_Constant(C))) { in narrowBinOp() 848 if (match(Src, m_OneUse(m_LShr(m_Value(X), m_Constant(C))))) { in visitTrunc() 855 if (match(Src, m_OneUse(m_c_Or(m_LShr(m_Value(X), m_Constant(C)), in visitTrunc() 868 if (match(Src, m_LShr(m_SExt(m_Value(A)), m_Constant(C)))) { in visitTrunc() 913 if (match(Src, m_Shl(m_Value(A), m_Constant(C))) && in visitTrunc() 914 !match(A, m_Shr(m_Value(), m_Constant()))) { in visitTrunc() 1337 if (match(Src, m_OneUse(m_Xor(m_Value(And), m_Constant(C)))) && in visitZExt() 1585 if (match(Src, m_AShr(m_Shl(m_Trunc(m_Value(A)), m_Constant(BA)), in visitSExt() 1586 m_Constant(CA))) && in visitSExt() [all …]
|
| H A D | InstCombineSelect.cpp | 62 if (!match(Sel.getCondition(), m_Cmp(Pred, m_Value(X), m_Constant(C)))) in foldSelectBinOpIdentity() 1282 m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C0)))) in canonicalizeClampLike() 1336 m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C1))))) in canonicalizeClampLike() 1347 m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C2))))) in canonicalizeClampLike() 1449 m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C0)))))) in tryToReuseConstantFromSelectInComparison() 1469 if (Pred == CmpInst::ICMP_ULT && match(X, m_Add(m_Value(), m_Constant()))) in tryToReuseConstantFromSelectInComparison() 1615 !match(TrueVal, m_Constant()) && !match(FalseVal, m_Constant()) && in foldSelectInstWithICmp() 1954 if (!match(Sel.getTrueValue(), m_Constant(C)) && in foldSelectExtConst() 1955 !match(Sel.getFalseValue(), m_Constant(C))) in foldSelectExtConst() 2019 if (!CondValTy || !match(CondVal, m_Constant(CondC))) in canonicalizeSelectToShuffle()
|
| H A D | InstructionCombining.cpp | 348 if (!match(BinOp1->getOperand(1), m_Constant(C1)) || in simplifyAssocCastAssoc() 349 !match(BinOp2->getOperand(1), m_Constant(C2))) in simplifyAssocCastAssoc() 529 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) && in SimplifyAssociativeOrCommutative() 530 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2)))) && in SimplifyAssociativeOrCommutative() 623 if (match(Op, m_Shl(m_Value(), m_Constant(C)))) { in getBinOpsForFactorization() 1103 if (!match(A, m_Constant(ConstA)) || !match(B, m_Constant(ConstB))) in FoldOpIntoSelect() 1907 if (!Op0->hasOneUse() || !match(Op1, m_Constant(WideC))) in narrowMathIfNoOverflow() 1957 m_Select(m_Value(Cond), m_Constant(TrueC), m_Constant(FalseC)))) in foldSelectGEP() 3952 else if (match(U, m_Select(m_Specific(&I), m_Constant(), m_Value()))) in visitFreeze() 3968 if (match(Op0, m_Constant(C)) && C->containsUndefOrPoisonElement()) { in visitFreeze()
|
| /llvm-project-15.0.7/mlir/lib/Analysis/AliasAnalysis/ |
| H A D | LocalAliasAnalysis.cpp | 255 if (matchPattern(lhs, m_Constant(&lhsAttr))) { in aliasImpl() 259 if (matchPattern(rhs, m_Constant(&rhsAttr))) in aliasImpl() 269 if (matchPattern(rhs, m_Constant(&rhsAttr))) { in aliasImpl()
|
| /llvm-project-15.0.7/mlir/test/lib/IR/ |
| H A D | TestMatchers.cpp | 139 m_Op<arith::MulFOp>(a, m_Op<arith::AddFOp>(a, m_Constant(&floatAttr))); in test2() 140 auto p1 = m_Op<arith::MulFOp>(a, m_Op<arith::AddFOp>(a, m_Constant())); in test2()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Quant/Transforms/ |
| H A D | ConvertConst.cpp | 45 if (!matchPattern(qbarrier.getArg(), m_Constant(&value))) { in matchAndRewrite()
|
| /llvm-project-15.0.7/mlir/include/mlir/IR/ |
| H A D | Matchers.h | 259 inline detail::constant_op_matcher m_Constant() { in m_Constant() function 266 inline detail::constant_op_binder<AttrT> m_Constant(AttrT *bind_value) { in m_Constant() function
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Utils/ |
| H A D | StaticValueUtils.cpp | 56 if (matchPattern(val, m_Constant(&attr))) in getAsOpFoldResult()
|
| /llvm-project-15.0.7/mlir/lib/IR/ |
| H A D | Builders.cpp | 409 if (matchPattern(op, m_Constant())) in tryFold() 416 matchPattern(op->getOperand(i), m_Constant(&constOperands[i])); in tryFold() 455 assert(matchPattern(constOp, m_Constant())); in tryFold()
|
| /llvm-project-15.0.7/mlir/test/lib/Analysis/DataFlow/ |
| H A D | TestDeadCodeAnalysis.cpp | 81 if (matchPattern(op, m_Constant(&value))) { in visit()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Affine/Transforms/ |
| H A D | AffineLoopInvariantCodeMotion.cpp | 86 } else if (!matchPattern(&op, m_Constant())) { in isOpLoopInvariant()
|
| /llvm-project-15.0.7/mlir/test/lib/Dialect/Tosa/ |
| H A D | TosaTestPasses.cpp | 86 if (!matchPattern(tosaNegateOp.getInput1(), m_Constant(&inputElems))) in matchAndRewrite()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 619 if (!match(Ins0, m_InsertElt(m_Constant(VecC0), m_Value(V0), in scalarizeBinopOrCmp() 621 !match(Ins0, m_Constant(VecC0))) in scalarizeBinopOrCmp() 623 if (!match(Ins1, m_InsertElt(m_Constant(VecC1), m_Value(V1), in scalarizeBinopOrCmp() 625 !match(Ins1, m_Constant(VecC1))) in scalarizeBinopOrCmp() 728 if (!match(B0, m_OneUse(m_Cmp(P0, m_Instruction(I0), m_Constant(C0)))) || in foldExtractedCmps() 729 !match(B1, m_OneUse(m_Cmp(P1, m_Instruction(I1), m_Constant(C1)))) || in foldExtractedCmps()
|
| /llvm-project-15.0.7/mlir/lib/Interfaces/ |
| H A D | InferTypeOpInterface.cpp | 156 if (!matchPattern(val, m_Constant(&attr))) in getValueAsShape()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Linalg/Transforms/ |
| H A D | ConstantFold.cpp | 119 m_Constant(&inputValues[operand.index()]))) in matchAndRewrite()
|