Teach bugpoint to kill optimization passes that run over the timeout limit,

which allows it to debug optimizer infinite loops.  This patch is contributed
by Nick Lewycky, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28763 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-06-13 03:10:48 +00:00
parent 81c01f0d2c
commit 9686ae7f4e
5 changed files with 14 additions and 12 deletions
+2 -7
View File
@@ -63,11 +63,6 @@ namespace {
cl::desc("Additional shared objects to load "
"into executing programs"));
cl::opt<unsigned>
TimeoutValue("timeout", cl::init(300), cl::value_desc("seconds"),
cl::desc("Number of seconds program is allowed to run before it "
"is killed (default is 300s), 0 disables timeout"));
cl::list<std::string>
AdditionalLinkerArgs("Xlinker",
cl::desc("Additional arguments to pass to the linker"));
@@ -231,11 +226,11 @@ std::string BugDriver::executeProgram(std::string OutputFile,
if (InterpreterSel == RunLLC || InterpreterSel == RunCBE)
RetVal = AI->ExecuteProgram(BytecodeFile, InputArgv, InputFile,
OutputFile, AdditionalLinkerArgs, SharedObjs,
TimeoutValue);
Timeout);
else
RetVal = AI->ExecuteProgram(BytecodeFile, InputArgv, InputFile,
OutputFile, std::vector<std::string>(),
SharedObjs, TimeoutValue);
SharedObjs, Timeout);
if (RetVal == -1) {
std::cerr << "<timeout>";