[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