diff options
author | Markus Lavin <markus.lavin@ericsson.com> | 2021-12-01 07:39:40 +0100 |
---|---|---|
committer | Markus Lavin <markus.lavin@ericsson.com> | 2021-12-01 07:57:17 +0100 |
commit | ce22b7f17b6a8ccf09a07eb9bda964cf1b007e0d (patch) | |
tree | bfcc1b9207d2b7453621ea80943dde00db1e3e2b /llvm/lib/Transforms/Scalar/LoopPassManager.cpp | |
parent | 69a8a7cf2dc4f8e1213f294697f649850af06f1d (diff) | |
download | llvm-ce22b7f17b6a8ccf09a07eb9bda964cf1b007e0d.zip llvm-ce22b7f17b6a8ccf09a07eb9bda964cf1b007e0d.tar.gz llvm-ce22b7f17b6a8ccf09a07eb9bda964cf1b007e0d.tar.bz2 |
[NPM] Fix LoopNestPasses in -print-pipeline-passes
Fix printing of LoopNestPasses when using the opt pipeline printer
option -print-pipeline-passes.
Reviewed By: aeubanks
Differential Revision: https://reviews.llvm.org/D114771
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopPassManager.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopPassManager.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopPassManager.cpp b/llvm/lib/Transforms/Scalar/LoopPassManager.cpp index 3df4cfe..6c78384 100644 --- a/llvm/lib/Transforms/Scalar/LoopPassManager.cpp +++ b/llvm/lib/Transforms/Scalar/LoopPassManager.cpp @@ -49,9 +49,17 @@ void PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater &>::printPipeline(raw_ostream &OS, function_ref<StringRef(StringRef)> MapClassName2PassName) { - for (unsigned Idx = 0, Size = LoopPasses.size(); Idx != Size; ++Idx) { - auto *P = LoopPasses[Idx].get(); - P->printPipeline(OS, MapClassName2PassName); + assert(LoopPasses.size() + LoopNestPasses.size() == IsLoopNestPass.size()); + + unsigned IdxLP = 0, IdxLNP = 0; + for (unsigned Idx = 0, Size = IsLoopNestPass.size(); Idx != Size; ++Idx) { + if (IsLoopNestPass[Idx]) { + auto *P = LoopNestPasses[IdxLNP++].get(); + P->printPipeline(OS, MapClassName2PassName); + } else { + auto *P = LoopPasses[IdxLP++].get(); + P->printPipeline(OS, MapClassName2PassName); + } if (Idx + 1 < Size) OS << ","; } |