llvm-project/mlir/lib/Pass
River Riddle c2fb9c29b4 [mlir:Pass] Add support for op-agnostic pass managers
This commit refactors the current pass manager support to allow for
operation agnostic pass managers. This allows for a series of passes
to be executed on any viable pass manager root operation, instead
of one specific operation type. Op-agnostic/generic pass managers
only allow for adding op-agnostic passes.

These types of pass managers are extremely useful when constructing
pass pipelines that can apply to many different types of operations,
e.g., the default inliner simplification pipeline. With the advent of
interface/trait passes, this support can be used to define FunctionOpInterface
pass managers, or other pass managers that effectively operate on
specific interfaces/traits/etc (see #52916 for an example).

Differential Revision: https://reviews.llvm.org/D123536
2022-05-12 13:12:59 -07:00
..
CMakeLists.txt [mlir] Refactor the implementation of pass crash reproducers 2021-05-19 16:59:53 -07:00
IRPrinting.cpp Print custom assembly on pass failure by default 2022-04-19 17:29:08 +00:00
Pass.cpp [mlir:Pass] Add support for op-agnostic pass managers 2022-05-12 13:12:59 -07:00
PassCrashRecovery.cpp [mlir][NFC] Drop a few unnecessary includes from Pass.h 2022-04-07 23:42:47 -07:00
PassDetail.h [mlir:Pass] Add support for op-agnostic pass managers 2022-05-12 13:12:59 -07:00
PassManagerOptions.cpp Revert "[MLIR] Provide a way to print ops in custom form on pass failure" 2022-04-17 18:55:09 +00:00
PassRegistry.cpp [mlir:Pass] Add support for op-agnostic pass managers 2022-05-12 13:12:59 -07:00
PassStatistics.cpp [mlir:Pass] Add support for op-agnostic pass managers 2022-05-12 13:12:59 -07:00
PassTiming.cpp [mlir:Pass] Add support for op-agnostic pass managers 2022-05-12 13:12:59 -07:00