[mlir-reduce] Reducer refactor.
authorChia-hung Duan <chiahungduan@google.com>
Tue, 1 Jun 2021 23:00:19 +0000 (07:00 +0800)
committerChia-hung Duan <chiahungduan@google.com>
Tue, 1 Jun 2021 23:45:00 +0000 (07:45 +0800)
commitc484c7dd9d2382f07216ae9142ceb76272e21dc4
tree562fcf45e56d45e6867b97947501437f7018a581
parent26044c6a54de3e03c73c5515702b95acdb0b7f22
[mlir-reduce] Reducer refactor.

* 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.

Reviewed By: jpienaar, rriddle

Differential Revision: https://reviews.llvm.org/D101046
26 files changed:
mlir/include/mlir/Reducer/OptReductionPass.h [deleted file]
mlir/include/mlir/Reducer/Passes.h
mlir/include/mlir/Reducer/Passes.td
mlir/include/mlir/Reducer/Passes/OpReducer.h [deleted file]
mlir/include/mlir/Reducer/ReductionNode.h
mlir/include/mlir/Reducer/ReductionPatternInterface.h [new file with mode: 0644]
mlir/include/mlir/Reducer/ReductionTreePass.h [deleted file]
mlir/lib/Reducer/CMakeLists.txt
mlir/lib/Reducer/OptReductionPass.cpp [moved from mlir/tools/mlir-reduce/OptReductionPass.cpp with 88% similarity]
mlir/lib/Reducer/ReductionNode.cpp [moved from mlir/tools/mlir-reduce/ReductionNode.cpp with 61% similarity]
mlir/lib/Reducer/ReductionTreePass.cpp [new file with mode: 0644]
mlir/lib/Reducer/Tester.cpp
mlir/test/lib/Dialect/Test/CMakeLists.txt
mlir/test/lib/Dialect/Test/TestDialect.cpp
mlir/test/lib/Dialect/Test/TestDialect.h
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 [new file with mode: 0644]
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/ReductionTreePass.cpp [deleted file]
mlir/tools/mlir-reduce/mlir-reduce.cpp