diff options
author | Chris Lattner <sabre@nondot.org> | 2005-01-23 03:45:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-01-23 03:45:26 +0000 |
commit | a328c51bb99666ee0c045a57ea6d6ce2b0198f9b (patch) | |
tree | d9df0919198cc05ca1ea9ee758c7e4bce73c0ee6 /tools/bugpoint/ExecutionDriver.cpp | |
parent | 417c4d5b4a2537e2ee6152c6be27e003310afb8f (diff) | |
download | external_llvm-a328c51bb99666ee0c045a57ea6d6ce2b0198f9b.zip external_llvm-a328c51bb99666ee0c045a57ea6d6ce2b0198f9b.tar.gz external_llvm-a328c51bb99666ee0c045a57ea6d6ce2b0198f9b.tar.bz2 |
Add support for fp tolerances
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19774 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/ExecutionDriver.cpp')
-rw-r--r-- | tools/bugpoint/ExecutionDriver.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/tools/bugpoint/ExecutionDriver.cpp b/tools/bugpoint/ExecutionDriver.cpp index 1dcb69a..966902c 100644 --- a/tools/bugpoint/ExecutionDriver.cpp +++ b/tools/bugpoint/ExecutionDriver.cpp @@ -29,6 +29,13 @@ namespace { AutoPick, RunLLI, RunJIT, RunLLC, RunCBE }; + cl::opt<double> + AbsTolerance("abs-tolerance", cl::desc("Absolute error tolerated"), + cl::init(0.0)); + cl::opt<double> + RelTolerance("rel-tolerance", cl::desc("Relative error tolerated"), + cl::init(0.0)); + cl::opt<OutputType> InterpreterSel(cl::desc("Specify how LLVM code should be executed:"), cl::values(clEnumValN(AutoPick, "auto", "Use best guess"), @@ -303,9 +310,10 @@ bool BugDriver::diffProgram(const std::string &BytecodeFile, std::string Error; bool FilesDifferent = false; - if (DiffFilesWithTolerance(ReferenceOutputFile, Output.toString(), 0, 0, - &Error)) { - if (!Error.empty()) { + if (int Diff = DiffFilesWithTolerance(sys::Path(ReferenceOutputFile), + sys::Path(Output.toString()), + AbsTolerance, RelTolerance, &Error)) { + if (Diff == 2) { std::cerr << "While diffing output: " << Error << '\n'; exit(1); } |