/llvm-project/mlir/test/lib/Dialect/SPIRV/ |
H A D | TestAvailability.cpp | 118 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 D | Canonicalizer.cpp | 20 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 D | TestPatterns.cpp | 87 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 D | rewriter-indexing.td | 40 // 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 D | PatternApplicator.cpp | 68 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 D | FrozenRewritePatternSet.cpp | 78 [&](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 D | PatternMatch.h | 234 // 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 D | TosaTestPasses.cpp | 31 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 D | PatternRewriter.md | 21 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 D | Canonicalization.md | 111 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 D | FrozenRewritePatternSet.h | 25 using NativePatternListT = std::vector<std::unique_ptr<RewritePattern>>; 30 DenseMap<OperationName, std::vector<RewritePattern *>>;
|
H A D | PatternApplicator.h | 91 DenseMap<OperationName, SmallVector<const RewritePattern *, 2>> patterns; 94 SmallVector<const RewritePattern *, 1> anyOpPatterns;
|
/llvm-project/mlir/unittests/Rewrite/ |
H A D | PatternBenefit.cpp | 41 struct Pattern2 : public RewritePattern { in TEST() 43 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/2, context), in TEST()
|
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/ |
H A D | ElementwiseToLinalg.cpp | 76 struct ConvertAnyElementwiseMappableOpOnRankedTensors : public RewritePattern { 78 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/1, context) {} in ConvertAnyElementwiseMappableOpOnRankedTensors()
|
H A D | Loops.cpp | 258 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 D | HomomorphismSimplification.h | 66 struct HomomorphismSimplification : public RewritePattern { 85 : RewritePattern(std::forward<RewritePatternArgs>(args)...), in HomomorphismSimplification()
|
H A D | OneToNTypeConversion.h | 16 // `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 D | DialectConversion.h | 534 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 D | CommutativityUtils.cpp | 230 class SortCommutativeOperands : public RewritePattern { 233 : RewritePattern(MatchAnyOpTypeTag(), /*benefit=*/5, context) {} in SortCommutativeOperands()
|
/llvm-project/mlir/docs/Tutorials/ |
H A D | QuickstartRewrites.md | 211 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 D | AffineToStandard.h | 18 class RewritePattern; variable
|
/llvm-project/mlir/lib/IR/ |
H A D | PatternMatch.cpp | 90 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 D | IntRangeOptimizations.cpp | 118 struct MaterializeKnownConstantValues : public RewritePattern { in match() 120 : RewritePattern(Pattern::MatchAnyOpTypeTag(), /*benefit=*/1, context), in rewrite()
|
/llvm-project/mlir/test/lib/Dialect/Transform/ |
H A D | TestTransformDialectExtension.cpp | 685 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 D | AllReduceLowering.cpp | 350 struct GpuAllReduceRewrite : public RewritePattern { 352 : RewritePattern(gpu::GPUFuncOp::getOperationName(), 1, context) {} in GpuAllReduceRewrite()
|