[PATCH] D108298: [NPM] Print '-passes' compatible string for built pipeline.
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 30 10:35:58 PDT 2021
aeubanks added inline comments.
================
Comment at: llvm/include/llvm/IR/PassManager.h:1319
+ std::function<StringRef(StringRef)> MapClassName2PassName) {
+ OS << "invalidate<all>";
+ }
----------------
does this not work with the default logic?
================
Comment at: llvm/include/llvm/IR/PassManagerInternal.h:98
+
+ void printPipelineParams(raw_ostream &OS) override {
+ Pass.printPipelineParams(OS);
----------------
can this be part of `printPipeline`?
================
Comment at: llvm/lib/Transforms/Scalar/LoopPassManager.cpp:50
+ printPipeline(raw_ostream &OS,
+ std::function<StringRef(StringRef)> MapClassName2PassName) {
+ for (unsigned Idx = 0, Size = LoopPasses.size(); Idx != Size; ++Idx) {
----------------
`function_ref` is lighter weight than `std::function`
================
Comment at: llvm/test/Other/new-pm-print-pipeline.ll:3
+
+; RUN: opt -S -o /dev/null /dev/null -print-pipeline-passes -passes='verify,function(adce),function(simplifycfg<bonus-inst-threshold=123;no-forward-switch-cond;switch-to-lookup;keep-loops;no-hoist-common-insts;sink-common-insts>),verify' | FileCheck %s --match-full-lines --check-prefixes=CHECK-0
+; CHECK-0: verify,verify,function(adce),function(simplifycfg<bonus-inst-threshold=123;no-forward-switch-cond;switch-to-lookup;keep-loops;no-hoist-common-insts;sink-common-insts>),verify,verify,print
----------------
`-disable-output`
================
Comment at: llvm/test/Other/new-pm-print-pipeline.ll:3
+
+; RUN: opt -S -o /dev/null /dev/null -print-pipeline-passes -passes='verify,function(adce),function(simplifycfg<bonus-inst-threshold=123;no-forward-switch-cond;switch-to-lookup;keep-loops;no-hoist-common-insts;sink-common-insts>),verify' | FileCheck %s --match-full-lines --check-prefixes=CHECK-0
+; CHECK-0: verify,verify,function(adce),function(simplifycfg<bonus-inst-threshold=123;no-forward-switch-cond;switch-to-lookup;keep-loops;no-hoist-common-insts;sink-common-insts>),verify,verify,print
----------------
aeubanks wrote:
> `-disable-output`
`< %s` seems nicer
================
Comment at: llvm/test/Other/new-pm-print-pipeline.ll:4
+; RUN: opt -S -o /dev/null /dev/null -print-pipeline-passes -passes='verify,function(adce),function(simplifycfg<bonus-inst-threshold=123;no-forward-switch-cond;switch-to-lookup;keep-loops;no-hoist-common-insts;sink-common-insts>),verify' | FileCheck %s --match-full-lines --check-prefixes=CHECK-0
+; CHECK-0: verify,verify,function(adce),function(simplifycfg<bonus-inst-threshold=123;no-forward-switch-cond;switch-to-lookup;keep-loops;no-hoist-common-insts;sink-common-insts>),verify,verify,print
+
----------------
perhaps add `-disable-verify` to remove extra `verify`s?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D108298/new/
https://reviews.llvm.org/D108298
More information about the llvm-commits
mailing list