[PATCH] D108298: [WIP][NPM] Print '-passes' compatible string for built pipeline.

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 18 09:04:31 PDT 2021


bjope added a comment.

One thing that we probably need to deal with is that we still have some non-unique mappings from class name to pass name. Solution is to make the passes take params, or to use different class names when the passes should appear as different passes. If for example the DEBUG_TYPE is common it could be better to use the parameterized solution, but maybe it is a bit weird with the sanitizers that can be run as both function and module passes if that should be a parameter (it would for example be illegal to do "function(msan<module>", so those passes are maybe a bit problematic unless we use different class names for the module and function pass).

Here is a list of classes that are used with two or more different pass names (making getPassNameForClassName unreliable):

  HWAddressSanitizerPass: hwasan<kernel;recover>, hwasan
  ModuleInlinerWrapperPass: inliner-wrapper-no-mandatory-first, scc-oz-module-inliner, inliner-wrapper
  LoopExtractorPass: loop-extract-single, loop-extract
  ModuleAddressSanitizerPass: kasan-module, asan-module
  EarlyCSEPass: early-cse-memssa, early-cse
  EntryExitInstrumenterPass: post-inline-ee-instrument, ee-instrument
  LowerMatrixIntrinsicsPass: lower-matrix-intrinsics-minimal, lower-matrix-intrinsics
  AddressSanitizerPass: asan<kernel>, asan
  MemorySanitizerPass: msan, msan-module
  ThreadSanitizerPass: tsan, tsan-module
  MemorySanitizerPass: msan, msan-module

Another thing that we should deal with is to make some framework for passes with params, making it possible to print the used params. Right now the printed string isn't trustworthy as we don't even print "passname<...>" to indicate that the pass takes params that missing in the printout.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108298/new/

https://reviews.llvm.org/D108298



More information about the llvm-commits mailing list