llvm-project/mlir/tools/mlir-tblgen
River Riddle 2a6c8b2e95 [mlir][PassIncGen] Refactor how pass registration is generated
The current output is a bit clunky and requires including files+macros everywhere, or manually wrapping the file inclusion in a registration function. This revision refactors the pass backend to automatically generate `registerFooPass`/`registerFooPasses` functions that wrap the pass registration. `gen-pass-decls` now takes a `-name` input that specifies a tag name for the group of passes that are being generated. For each pass, the generator now produces a `registerFooPass` where `Foo` is the name of the definition specified in tablegen. It also generates a `registerGroupPasses`, where `Group` is the tag provided via the `-name` input parameter, that registers all of the passes present.

Differential Revision: https://reviews.llvm.org/D84983
2020-07-31 13:20:37 -07:00
..
CMakeLists.txt [MLIR] LLVMMLIRTableGen -> MLIRTableGen 2020-05-19 14:49:32 -07:00
DialectGen.cpp [mlir] Refactor InterfaceGen to support generating interfaces for Attributes and Types. 2020-06-30 15:52:33 -07:00
DocGenUtilities.h Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00
EnumsGen.cpp [mlir-tblgen] Use fully qualified names in generated code files 2020-06-26 15:05:33 +02:00
LLVMIRConversionGen.cpp [mlir] LLVMType: make getUnderlyingType private 2020-07-29 13:43:38 +02:00
LLVMIRIntrinsicGen.cpp [MLIR] Rename SideEffects.td -> SideEffectInterfaces.td 2020-05-12 12:21:42 -07:00
OpDefinitionsGen.cpp [MLIR][TableGen] Add default value for named attributes for 2 more build methods 2020-07-16 09:32:19 -07:00
OpDocGen.cpp [mlir][NFC] Remove usernames and google bug numbers from TODO comments. 2020-07-07 01:40:52 -07:00
OpFormatGen.cpp [mlir] Add support for parsing optional Attribute values. 2020-07-14 13:14:59 -07:00
OpFormatGen.h [mlir] Add initial support for parsing a declarative operation assembly format 2020-01-30 11:43:40 -08:00
OpInterfacesGen.cpp [mlir][ODS] Add support for specifying the namespace of an interface. 2020-07-12 14:18:32 -07:00
PassDocGen.cpp [mlir][Pass] Update the PassGen to generate base classes instead of utilities 2020-04-07 14:08:52 -07:00
PassGen.cpp [mlir][PassIncGen] Refactor how pass registration is generated 2020-07-31 13:20:37 -07:00
RewriterGen.cpp [mlir][NFC] Remove usernames and google bug numbers from TODO comments. 2020-07-07 01:40:52 -07:00
SPIRVUtilsGen.cpp [mlir][NFC] Remove usernames and google bug numbers from TODO comments. 2020-07-07 01:40:52 -07:00
StructsGen.cpp [mlir-tblgen] Use fully qualified names in generated code files 2020-06-26 15:05:33 +02:00
mlir-tblgen.cpp Mass update the MLIR license header to mention "Part of the LLVM project" 2020-01-26 03:58:30 +00:00