diff options
Diffstat (limited to 'src/passes/pass.cpp')
-rw-r--r-- | src/passes/pass.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index 593023c7c..13d700af9 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -816,13 +816,17 @@ void PassRunner::run() { flush(); } - // All the passes the user requested to skip should have been seen, and - // skipped. If not, the user may have had a typo in the name of a pass to - // skip, and we will warn. - for (auto pass : options.passesToSkip) { - if (!skippedPasses.count(pass)) { - std::cerr << "warning: --" << pass << " was requested to be skipped, " - << "but it was not found in the passes that were run.\n"; + if (!isNested) { + // All the passes the user requested to skip should have been seen, and + // skipped. If not, the user may have had a typo in the name of a pass to + // skip, and we will warn. (We don't do this in a nested runner because + // those are used for various internal tasks inside passes, which would lead + // to many spurious warnings.) + for (auto pass : options.passesToSkip) { + if (!skippedPasses.count(pass)) { + std::cerr << "warning: --" << pass << " was requested to be skipped, " + << "but it was not found in the passes that were run.\n"; + } } } } |