llvm-project/mlir/lib
River Riddle 5de726f493 Refactor the Pattern framework to allow for combined match/rewrite patterns. This is done by adding a new 'matchAndRewrite' function to RewritePattern that performs the match and rewrite in one step. The default behavior simply calls into the existing 'match' and 'rewrite' functions. The 'PatternMatcher' class has now been specialized for RewritePatterns and has been rewritten to make use of the new matchAndRewrite functionality.
This combined match/rewrite functionality allows simplifying the majority of existing RewritePatterns, as they do not benefit from separate match and rewrite functions.

Some of the existing canonicalization patterns in StandardOps have been modified to take advantage of this functionality.

PiperOrigin-RevId: 240187856
2019-03-29 17:39:35 -07:00
..
AffineOps Replace usages of "operator->" with "." for the AffineOps. 2019-03-29 17:39:19 -07:00
Analysis Replace usages of "operator->" with "." for the AffineOps. 2019-03-29 17:39:19 -07:00
Dialect Remove const from Value, Instruction, Argument, and the various methods on the 2019-03-29 17:34:33 -07:00
EDSC Replace usages of "operator->" with "." for the AffineOps. 2019-03-29 17:39:19 -07:00
ExecutionEngine Continue pushing const out of the core IR types - in this case, remove const 2019-03-29 17:29:58 -07:00
IR Refactor the Pattern framework to allow for combined match/rewrite patterns. This is done by adding a new 'matchAndRewrite' function to RewritePattern that performs the match and rewrite in one step. The default behavior simply calls into the existing 'match' and 'rewrite' functions. The 'PatternMatcher' class has now been specialized for RewritePatterns and has been rewritten to make use of the new matchAndRewrite functionality. 2019-03-29 17:39:35 -07:00
LLVMIR Update some of the derived type classes to use getImpl instead of a static_cast. 2019-03-29 17:38:14 -07:00
Parser At missing mlir:: namespace qualifier in front of function definition 2019-03-29 17:32:59 -07:00
Pass Continue pushing const out of the core IR types - in this case, remove const 2019-03-29 17:29:58 -07:00
StandardOps Refactor the Pattern framework to allow for combined match/rewrite patterns. This is done by adding a new 'matchAndRewrite' function to RewritePattern that performs the match and rewrite in one step. The default behavior simply calls into the existing 'match' and 'rewrite' functions. The 'PatternMatcher' class has now been specialized for RewritePatterns and has been rewritten to make use of the new matchAndRewrite functionality. 2019-03-29 17:39:35 -07:00
SuperVectorOps Remove const from Value, Instruction, Argument, and the various methods on the 2019-03-29 17:34:33 -07:00
Support Extract openInputFile() into Support/FileUtilities 2019-03-29 15:09:11 -07:00
TableGen [TableGen] Consolidate constraint related concepts 2019-03-29 17:38:46 -07:00
Target/LLVMIR Remove const from Value, Instruction, Argument, and the various methods on the 2019-03-29 17:34:33 -07:00
Transforms Refactor the Pattern framework to allow for combined match/rewrite patterns. This is done by adding a new 'matchAndRewrite' function to RewritePattern that performs the match and rewrite in one step. The default behavior simply calls into the existing 'match' and 'rewrite' functions. The 'PatternMatcher' class has now been specialized for RewritePatterns and has been rewritten to make use of the new matchAndRewrite functionality. 2019-03-29 17:39:35 -07:00
Translation Separate translators into "from MLIR" and "to MLIR". 2019-03-29 14:06:33 -07:00