From: Matthijs Kooijman Date: Thu, 12 Jun 2008 13:02:26 +0000 (+0000) Subject: Add -silence-passes option to bugpoint. This option suppresses output generated X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=fbea227f41348157191a0217ecb110cc015e9a4f;p=oota-llvm.git Add -silence-passes option to bugpoint. This option suppresses output generated when bugpoint is running passes in a child process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52234 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp index b08171bc587..3ded5e866b3 100644 --- a/tools/bugpoint/OptimizerDriver.cpp +++ b/tools/bugpoint/OptimizerDriver.cpp @@ -114,6 +114,8 @@ int BugDriver::runPassesAsChild(const std::vector &Passes) { return 0; } +cl::opt SilencePasses("silence-passes", cl::desc("Suppress output of running passes (both stdout and stderr)")); + /// runPasses - Run the specified passes on Program, outputting a bitcode file /// and writing the filename into OutputFile if successful. If the /// optimizations fail for some reason (optimizer crashes), return true, @@ -192,7 +194,12 @@ bool BugDriver::runPasses(const std::vector &Passes, prog = sys::Program::FindProgramByName("valgrind"); else prog = tool; - int result = sys::Program::ExecuteAndWait(prog, args, 0, 0, + + // Redirect stdout and stderr to nowhere if SilencePasses is given + sys::Path Nowhere; + const sys::Path *Redirects[3] = {0, &Nowhere, &Nowhere}; + + int result = sys::Program::ExecuteAndWait(prog, args, 0, (SilencePasses ? Redirects : 0), Timeout, MemoryLimit, &ErrMsg); // If we are supposed to delete the bitcode file or if the passes crashed,