For example, we will generate incorrect code for the pattern,
def : Pat<((FooOp (FooOp, $a, $b), $b)), (...)>;
We didn't allow $b to be bond twice with same operand of same op.
Paths
| Differential D105677
[mlir-tblgen] Fix failed matching when binds same operand of an op in different depth ClosedPublic Authored by Chia-hungDuan on Jul 8 2021, 11:43 PM.
Details Summary For example, we will generate incorrect code for the pattern, def : Pat<((FooOp (FooOp, $a, $b), $b)), (...)>; We didn't allow $b to be bond twice with same operand of same op.
Diff Detail
Event TimelineComment Actions Just did a quick skim/will look more later
Chia-hungDuan added a child revision: D105797: [mlir-tblgen] Add DagNode StaticMatcher..Jul 12 2021, 12:56 AM
Chia-hungDuan retitled this revision from [mlir-tblgen] Fix falied matching when binds same operand of an op in different depth to [mlir-tblgen] Fix failed matching when binds same operand of an op in different depth.Jul 16 2021, 4:39 AM Comment Actions
Done.
jpienaar added inline comments.
This revision is now accepted and ready to land.Jul 16 2021, 8:51 AM efriedma removed a child revision: D34362: [LNT] Support for different DataSet usage in Polybench for "lnt runtest nt".Jul 17 2021, 3:02 PM
Closed by commit rGb4001ae8851f: [mlir-tblgen] Fix failed matching when binds same operand of an op in different… (authored by Chia-hungDuan). · Explain WhyJul 20 2021, 12:45 AM This revision was automatically updated to reflect the committed changes. Chia-hungDuan removed a child revision: D105797: [mlir-tblgen] Add DagNode StaticMatcher..Aug 11 2021, 4:22 PM
Revision Contents
Diff 357421 mlir/include/mlir/TableGen/Pattern.h
mlir/lib/TableGen/Pattern.cpp
mlir/test/lib/Dialect/Test/TestOps.td
mlir/test/mlir-tblgen/pattern.mlir
mlir/tools/mlir-tblgen/RewriterGen.cpp
|
nit: const llvm::DagInit *.