[all-commits] [llvm/llvm-project] c484c7: [mlir-reduce] Reducer refactor.

ChiaHungDuan via All-commits all-commits at lists.llvm.org
Tue Jun 1 16:46:55 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c484c7dd9d2382f07216ae9142ceb76272e21dc4
      https://github.com/llvm/llvm-project/commit/c484c7dd9d2382f07216ae9142ceb76272e21dc4
  Author: Chia-hung Duan <chiahungduan at google.com>
  Date:   2021-06-02 (Wed, 02 Jun 2021)

  Changed paths:
    R mlir/include/mlir/Reducer/OptReductionPass.h
    M mlir/include/mlir/Reducer/Passes.h
    M mlir/include/mlir/Reducer/Passes.td
    R mlir/include/mlir/Reducer/Passes/OpReducer.h
    M mlir/include/mlir/Reducer/ReductionNode.h
    A mlir/include/mlir/Reducer/ReductionPatternInterface.h
    R mlir/include/mlir/Reducer/ReductionTreePass.h
    M mlir/lib/Reducer/CMakeLists.txt
    A mlir/lib/Reducer/OptReductionPass.cpp
    A mlir/lib/Reducer/ReductionNode.cpp
    A mlir/lib/Reducer/ReductionTreePass.cpp
    M mlir/lib/Reducer/Tester.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.h
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Reducer/MLIRTestReducer.cpp
    A mlir/test/mlir-reduce/crashop-reduction.mlir
    M mlir/test/mlir-reduce/dce-test.mlir
    M mlir/test/mlir-reduce/multiple-function.mlir
    M mlir/test/mlir-reduce/simple-test.mlir
    M mlir/test/mlir-reduce/single-function.mlir
    M mlir/tools/mlir-reduce/CMakeLists.txt
    R mlir/tools/mlir-reduce/OptReductionPass.cpp
    R mlir/tools/mlir-reduce/ReductionNode.cpp
    R mlir/tools/mlir-reduce/ReductionTreePass.cpp
    M mlir/tools/mlir-reduce/mlir-reduce.cpp

  Log Message:
  -----------
  [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




More information about the All-commits mailing list