================ @@ -55,4 +55,48 @@ bool OptBisect::shouldRunPass(StringRef PassName, return ShouldRun; } -OptPassGate &llvm::getGlobalPassGate() { return getOptBisector(); } +const int OptBisect::Disabled; + +static OptDisable &getOptDisabler() { + static OptDisable OptDisabler; + return OptDisabler; +} + +static cl::list<std::string> OptDisablePasses( + "opt-disable", cl::Hidden, cl::CommaSeparated, cl::Optional, + cl::cb<void, std::string>([](std::string Pass) { + getOptDisabler().setDisabled(Pass); + }), + cl::desc("Optimization pass(es) to disable (comma-separated list)")); + +static cl::opt<bool> + OptDisableVerbose("opt-disable-enable-verbosity", + cl::desc("Show verbose output when opt-disable is set"), + cl::Hidden, cl::init(false), cl::Optional); + +static void printDisablePassMessage(const StringRef &Name, StringRef TargetDesc, + bool Running) { + StringRef Status = Running ? "" : "NOT "; + errs() << "DISABLE: " << Status << "running pass " << Name << " on " ---------------- cristianassaiante wrote:
Makes sense. After this maybe we should also change it for the bisect print. https://github.com/llvm/llvm-project/pull/145059 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits