Change pass registration generated code to allow users to selectively register passes
authorMehdi Amini <joker.eph@gmail.com>
Thu, 2 Apr 2020 17:36:11 +0000 (17:36 +0000)
committerMehdi Amini <joker.eph@gmail.com>
Thu, 2 Apr 2020 18:58:47 +0000 (18:58 +0000)
commitee4d0342771a42b8485416bfdadc7da4ec4732dc
tree682cd87d7c5e54ac3160ec61911a26ce16f866a8
parentb78157c88b327f4a683f2cdfe3d4f331492576a5
Change pass registration generated code to allow users to selectively register passes

This slightly tweaks the generated code from:

  #ifdef GEN_PASS_REGISTRATION
  ::mlir::registerPass("flag1", ...
  ::mlir::registerPass("flag2", ...
  #endif // GEN_PASS_REGISTRATION

to:

  #ifdef GEN_PASS_REGISTRATION
  #define GEN_PASS_REGISTRATION_Pass1
  #define GEN_PASS_REGISTRATION_Pass2
  #endif // GEN_PASS_REGISTRATION

  #ifdef GEN_PASS_REGISTRATION_Pass1
  ::mlir::registerPass("flag1", ...
  #endif
  #ifdef GEN_PASS_REGISTRATION_Pass1
  ::mlir::registerPass("flag2", ...
  #endif

That way the generated code can be included by defining the
`GEN_PASS_REGISTRATION` macro as currenty and register all the passes,
but one can also define only `GEN_PASS_REGISTRATION_Pass1` to register a
subset of the passes.

Differential Revision: https://reviews.llvm.org/D77322
mlir/tools/mlir-tblgen/PassGen.cpp