- A Reducer is a kind of RewritePattern, so it's just the same as
writing graph rewrite.
- ReductionTreePass operates on Operation rather than ModuleOp, so that
- we are able to reduce a nested structure(e.g., module in module) by
- self-nesting.
Paths
| Differential D101046
[mlir-reduce] Reducer refactor. ClosedPublic Authored by Chia-hungDuan on Apr 22 2021, 4:15 AM.
Details
Summary
writing graph rewrite.
Diff Detail
Event TimelineHerald added subscribers: dcaballe, cota, teijeong and 17 others. · View Herald TranscriptApr 22 2021, 4:15 AM Comment Actions Thanks! Took a first pass.
Chia-hungDuan added inline comments.
Chia-hungDuan added inline comments.
Chia-hungDuan added inline comments. Chia-hungDuan added a child revision: D101607: [mlir-reduce] Create MlirReduceLib.Apr 30 2021, 1:57 AM
Chia-hungDuan added inline comments.
Chia-hungDuan marked an inline comment as done. Comment ActionsUse Dialect Interface to collect reduce patterns Comment Actions Verify the module before print it to the file because an invalid module may fail dump. Comment Actions Looking good, thanks! May just need one more look over after this round, but should be really close to landing. Awesome work!
Chia-hungDuan added inline comments.
Chia-hungDuan marked 4 inline comments as done. Comment ActionsAddressed review comments and fixed two bugs
Comment Actions Looks good, I'll let River take one more pass
This revision is now accepted and ready to land.May 26 2021, 12:00 PM Chia-hungDuan added inline comments.
Chia-hungDuan marked an inline comment as done. Comment ActionsAddressed review comments and updated the commit message Comment Actions Looks good, thanks!
Chia-hungDuan added inline comments.
Closed by commit rGc484c7dd9d23: [mlir-reduce] Reducer refactor. (authored by Chia-hungDuan). · Explain WhyJun 1 2021, 4:46 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 349134 mlir/include/mlir/Reducer/OptReductionPass.h
mlir/include/mlir/Reducer/Passes.h
mlir/include/mlir/Reducer/Passes.td
mlir/include/mlir/Reducer/Passes/OpReducer.h
mlir/include/mlir/Reducer/ReductionNode.h
mlir/include/mlir/Reducer/ReductionPatternInterface.h
mlir/include/mlir/Reducer/ReductionTreePass.h
mlir/lib/Reducer/CMakeLists.txt
mlir/lib/Reducer/OptReductionPass.cpp
mlir/lib/Reducer/ReductionNode.cpp
mlir/lib/Reducer/ReductionTreePass.cpp
mlir/lib/Reducer/Tester.cpp
mlir/test/lib/Dialect/Test/CMakeLists.txt
mlir/test/lib/Dialect/Test/TestDialect.h
mlir/test/lib/Dialect/Test/TestDialect.cpp
mlir/test/lib/Dialect/Test/TestOps.td
mlir/test/lib/Dialect/Test/TestPatterns.cpp
mlir/test/lib/Reducer/MLIRTestReducer.cpp
mlir/test/mlir-reduce/crashop-reduction.mlir
mlir/test/mlir-reduce/dce-test.mlir
mlir/test/mlir-reduce/multiple-function.mlir
mlir/test/mlir-reduce/simple-test.mlir
mlir/test/mlir-reduce/single-function.mlir
mlir/tools/mlir-reduce/CMakeLists.txt
mlir/tools/mlir-reduce/OptReductionPass.cpp
mlir/tools/mlir-reduce/ReductionTreePass.cpp
mlir/tools/mlir-reduce/mlir-reduce.cpp
|
s/.etc./etc./