diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2021-12-02 21:02:54 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2021-12-02 21:02:54 +0000 |
commit | f65dcba83ce5035ab88a85fe17628b447eb56e1b (patch) | |
tree | 35f37bb72b3cfc6060193e66c76ee7c9478969b0 /llvm/lib/Transforms/Scalar/LoopPassManager.cpp | |
parent | 846a2208a8ab099f595fe7e8b2e6d54a7b5e67fb (diff) |
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 3df4cfe8e4c1..6c783848432b 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 << ","; } |