[all-commits] [llvm/llvm-project] 672cc7: [mlir][IR] Remove references to BuiltinOps from IR/

River Riddle via All-commits all-commits at lists.llvm.org
Thu Dec 3 15:58:13 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 672cc75cceda12e67915643566362f832edcb66d
      https://github.com/llvm/llvm-project/commit/672cc75cceda12e67915643566362f832edcb66d
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-12-03 (Thu, 03 Dec 2020)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinOps.td
    M mlir/include/mlir/IR/MLIRContext.h
    M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.h
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Attributes.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/test/EDSC/builder-api-test.cpp

  Log Message:
  -----------
  [mlir][IR] Remove references to BuiltinOps from IR/

There isn't a good reason for anything within IR to specifically reference any of the builtin operations. The only place that had a good reason in the past was AsmPrinter, but the behavior there doesn't need to hardcode ModuleOp anymore.

Differential Revision: https://reviews.llvm.org/D92448


  Commit: 00c6ef8628a6ee062d5104692a92d5e000dd7c05
      https://github.com/llvm/llvm-project/commit/00c6ef8628a6ee062d5104692a92d5e000dd7c05
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-12-03 (Thu, 03 Dec 2020)

  Changed paths:
    M mlir/include/mlir/Pass/AnalysisManager.h
    M mlir/include/mlir/Pass/PassManager.h
    M mlir/lib/Pass/IRPrinting.cpp
    M mlir/lib/Pass/Pass.cpp
    M mlir/lib/Pass/PassManagerOptions.cpp

  Log Message:
  -----------
  [mlir][Pass] Remove the restriction that PassManager can only run on ModuleOp

This was a somewhat important restriction in the past when ModuleOp was distinctly the top-level container operation, as well as before the pass manager had support for running nested pass managers natively. With these two issues fading away, there isn't really a good reason to enforce that a ModuleOp is the thing running within a pass manager. As such, this revision removes the restriction and allows for users to pass in the name of the operation that the pass manager will be scheduled on.

The only remaining dependency on BuiltinOps from Pass after this revision is due to FunctionPass, which will be resolved in a followup revision.

Differential Revision: https://reviews.llvm.org/D92450


  Commit: b57980309a699a47a46b5b5749b36fea06eaaf33
      https://github.com/llvm/llvm-project/commit/b57980309a699a47a46b5b5749b36fea06eaaf33
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-12-03 (Thu, 03 Dec 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/SPIRVModule.h
    M mlir/include/mlir/IR/BuiltinOps.h
    M mlir/include/mlir/IR/OpDefinition.h
    A mlir/include/mlir/IR/OwningOpRef.h
    R mlir/include/mlir/IR/OwningOpRefBase.h
    M mlir/include/mlir/Parser.h
    M mlir/lib/Parser/Parser.cpp

  Log Message:
  -----------
  [mlir][Parser] Don't hardcode the use of ModuleOp in the parser

This was important when ModuleOp was the only top level operation, but that isn't necessarily the case anymore. This is one of the last remaining aspects of the infrastructure that is hardcoded to ModuleOp.

Differential Revision: https://reviews.llvm.org/D92605


Compare: https://github.com/llvm/llvm-project/compare/c503dc1b8a52...b57980309a69


More information about the All-commits mailing list