Home
last modified time | relevance | path

Searched refs:RewritePattern (Results 1 – 25 of 38) sorted by relevance

12

/llvm-project/mlir/test/lib/Dialect/SPIRV/
H A DTestAvailability.cpp118 struct ConvertToAtomCmpExchangeWeak : RewritePattern {
120 : RewritePattern("test.convert_to_atomic_compare_exchange_weak_op", 1, in ConvertToAtomCmpExchangeWeak()
140 struct ConvertToBitReverse : RewritePattern {
142 : RewritePattern("test.convert_to_bit_reverse_op", 1, context, in ConvertToBitReverse()
154 struct ConvertToGroupNonUniformBallot : RewritePattern {
156 : RewritePattern("test.convert_to_group_non_uniform_ballot_op", 1, in ConvertToGroupNonUniformBallot()
168 struct ConvertToModule : RewritePattern {
170 : RewritePattern("test.convert_to_module_op", 1, context, in ConvertToModule()
182 struct ConvertToSubgroupBallot : RewritePattern {
184 : RewritePattern("test.convert_to_subgroup_ballot_op", 1, context, in ConvertToSubgroupBallot()
[all …]
/llvm-project/mlir/unittests/Transforms/
H A DCanonicalizer.cpp20 struct DisabledPattern : public RewritePattern {
22 : RewritePattern("test.foo", /*benefit=*/0, context, in DisabledPattern()
36 struct EnabledPattern : public RewritePattern {
38 : RewritePattern("test.foo", /*benefit=*/0, context, in EnabledPattern()
/llvm-project/mlir/test/lib/Dialect/Test/
H A DTestPatterns.cpp87 struct FoldingPattern : public RewritePattern { in FoldingPattern()
90 : RewritePattern(TestOpInPlaceFoldAnchor::getOperationName(), in matchAndRewrite()
175 struct MakeOpEligible : public RewritePattern { in matchAndRewrite()
177 : RewritePattern("foo.maybe_eligible_op", /*benefit=*/1, context) {} in matchAndRewrite()
207 struct MoveBeforeParentOp : public RewritePattern { in matchAndRewrite()
209 : RewritePattern("test.move_before_parent_op", /*benefit=*/1, context) {} in matchAndRewrite()
222 struct MoveAfterParentOp : public RewritePattern { in InlineBlocksIntoParent()
224 : RewritePattern("test.move_after_parent_op", /*benefit=*/1, context) {} in matchAndRewrite()
247 struct InlineBlocksIntoParent : public RewritePattern { in matchAndRewrite()
249 : RewritePattern("tes in matchAndRewrite()
[all...]
/llvm-project/mlir/test/mlir-tblgen/
H A Drewriter-indexing.td40 // CHECK: struct test1 : public ::mlir::RewritePattern {
46 // CHECK: struct test2 : public ::mlir::RewritePattern {
54 // CHECK: struct test3 : public ::mlir::RewritePattern {
85 // CHECK: struct test4 : public ::mlir::RewritePattern {
90 // CHECK: struct test5 : public ::mlir::RewritePattern {
97 // CHECK: struct test6 : public ::mlir::RewritePattern {
/llvm-project/mlir/lib/Rewrite/
H A DPatternApplicator.cpp68 for (const RewritePattern *pattern : it.second) { in applyCostModel()
76 for (const RewritePattern &pattern : in applyCostModel()
89 auto processPatternList = [&](SmallVectorImpl<const RewritePattern *> &list) { in applyCostModel()
144 MutableArrayRef<const RewritePattern *> opPatterns; in matchAndRewrite()
211 static_cast<const RewritePattern *>(bestPattern); in matchAndRewrite()
H A DFrozenRewritePatternSet.cpp78 [&](std::unique_ptr<RewritePattern> &pattern, in FrozenRewritePatternSet()
88 for (std::unique_ptr<RewritePattern> &pat : patterns.getNativePatterns()) { in FrozenRewritePatternSet()
/llvm-project/mlir/include/mlir/IR/
H A DPatternMatch.h234 // RewritePattern
237 /// RewritePattern is the common base class for all DAG to DAG replacements.
239 /// * Multi-step RewritePattern with "match" and "rewrite"
242 /// * Single-step RewritePattern with "matchAndRewrite"
246 class RewritePattern : public Pattern {
248 virtual ~RewritePattern() = default;
315 /// OpOrInterfaceRewritePatternBase is a wrapper around RewritePattern that
319 struct OpOrInterfaceRewritePatternBase : public RewritePattern {
320 using RewritePattern::RewritePattern;
387 : RewritePattern(Pattern::MatchTraitOpTypeTag(), TypeID::get<TraitType>(), RewritePattern() function
[all...]
/llvm-project/mlir/test/lib/Dialect/Tosa/
H A DTosaTestPasses.cpp31 struct ConvertTosaNegateOp : public RewritePattern {
33 : RewritePattern(tosa::NegateOp::getOperationName(), 1, context) {} in ConvertTosaNegateOp()
101 struct ConvertTosaConv2DOp : public RewritePattern {
103 : RewritePattern(tosa::Conv2DOp::getOperationName(), 1, context) {} in ConvertTosaConv2DOp()
/llvm-project/mlir/docs/
H A DPatternRewriter.md21 Patterns are defined by inheriting from the `RewritePattern` class. This class
51 rewrite of the IR. A `RewritePattern` can specify this implementation either via
59 class MyPattern : public RewritePattern {
64 : RewritePattern(MyOp::getOperationName(), benefit, context) {}
67 : RewritePattern(benefit, MatchAnyOpTypeTag()) {}
138 class MyPattern : public RewritePattern {
140 /// Inherit constructors from RewritePattern.
141 using RewritePattern::RewritePattern;
168 class MyPattern : public RewritePattern {
[all...]
H A DCanonicalization.md111 general `RewritePattern`s and the `fold` method.
113 ### Canonicalizing with `RewritePattern`s
116 `RewritePattern`s, either imperatively defined in C++ or declaratively as
133 // A single "matchAndRewrite" style RewritePattern implemented as a method
/llvm-project/mlir/include/mlir/Rewrite/
H A DFrozenRewritePatternSet.h25 using NativePatternListT = std::vector<std::unique_ptr<RewritePattern>>;
30 DenseMap<OperationName, std::vector<RewritePattern *>>;
H A DPatternApplicator.h91 DenseMap<OperationName, SmallVector<const RewritePattern *, 2>> patterns;
94 SmallVector<const RewritePattern *, 1> anyOpPatterns;
/llvm-project/mlir/unittests/Rewrite/
H A DPatternBenefit.cpp41 struct Pattern2 : public RewritePattern { in TEST()
43 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/2, context), in TEST()
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/
H A DElementwiseToLinalg.cpp76 struct ConvertAnyElementwiseMappableOpOnRankedTensors : public RewritePattern {
78 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/1, context) {} in ConvertAnyElementwiseMappableOpOnRankedTensors()
H A DLoops.cpp258 class LinalgRewritePattern : public RewritePattern {
261 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/1, context) {} in LinalgRewritePattern()
287 struct FoldAffineOp : public RewritePattern {
289 : RewritePattern(affine::AffineApplyOp::getOperationName(), 0, context) {} in FoldAffineOp()
/llvm-project/mlir/include/mlir/Transforms/
H A DHomomorphismSimplification.h66 struct HomomorphismSimplification : public RewritePattern {
85 : RewritePattern(std::forward<RewritePatternArgs>(args)...), in HomomorphismSimplification()
H A DOneToNTypeConversion.h16 // `RewritePattern`s, which produce unrealized casts to convert the operands and
20 // `PatternRewriter`, and special RewritePattern`s, which extend their
81 /// Extends the basic `RewritePattern` class with a type converter member and
84 class RewritePatternWithConverter : public mlir::RewritePattern {
87 /// remaining arguments to RewritePattern. in OneToNTypeMapping()
91 : RewritePattern(std::forward<Args>(args)...),
H A DDialectConversion.h534 class ConversionPattern : public RewritePattern { in match()
587 /// See `RewritePattern::RewritePattern` for information on the other in rewrite()
589 using RewritePattern::RewritePattern;
591 /// remaining arguments to RewritePattern. in matchAndRewrite()
594 : RewritePattern(std::forward<Args>(args)...),
611 using RewritePattern::rewrite;
/llvm-project/mlir/lib/Transforms/Utils/
H A DCommutativityUtils.cpp230 class SortCommutativeOperands : public RewritePattern {
233 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/5, context) {} in SortCommutativeOperands()
/llvm-project/mlir/docs/Tutorials/
H A DQuickstartRewrites.md211 you can specify an arbitrary list of `RewritePattern`s.
213 ### Fully general C++ `RewritePattern` specifications
216 you can also specify rewrites as a general set of `RewritePattern`s:
221 struct ConvertTFLeakyRelu : public RewritePattern {
223 : RewritePattern("tf.LeakyRelu", 1, context) {}
238 struct ConvertTFLeakyRelu : public RewritePattern {
240 : RewritePattern("tf.LeakyRelu", 1, context) {}
/llvm-project/mlir/include/mlir/Conversion/AffineToStandard/
H A DAffineToStandard.h18 class RewritePattern; variable
/llvm-project/mlir/lib/IR/
H A DPatternMatch.cpp90 void RewritePattern::rewrite(Operation *op, PatternRewriter &rewriter) const { in rewrite()
95 LogicalResult RewritePattern::match(Operation *op) const { in match()
100 void RewritePattern::anchor() {} in anchor()
/llvm-project/mlir/lib/Dialect/Arith/Transforms/
H A DIntRangeOptimizations.cpp118 struct MaterializeKnownConstantValues : public RewritePattern { in match()
120 : RewritePattern(Pattern::MatchAnyOpTypeTag(), /*benefit=*/1, context), in rewrite()
/llvm-project/mlir/test/lib/Dialect/Transform/
H A DTestTransformDialectExtension.cpp685 class ReplaceWithNewOp : public RewritePattern {
688 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/1, context) {} in ReplaceWithNewOp()
704 class EraseOp : public RewritePattern {
707 : RewritePattern("test.erase_op", /*benefit=*/1, context) {} in EraseOp()
835 : ConversionPattern(typeConverter, RewritePattern::MatchAnyOpTypeTag(), in populatePatterns()
/llvm-project/mlir/lib/Dialect/GPU/Transforms/
H A DAllReduceLowering.cpp350 struct GpuAllReduceRewrite : public RewritePattern {
352 : RewritePattern(gpu::GPUFuncOp::getOperationName(), 1, context) {} in GpuAllReduceRewrite()

12