From 59615f0f85e2ac99e012cb81934d002faebd405a Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 15 Jan 2005 00:07:19 +0000 Subject: [PATCH] Improve output precision. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19564 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/bugpoint/Miscompilation.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp index 33bfd502c02..b69cbd12003 100644 --- a/tools/bugpoint/Miscompilation.cpp +++ b/tools/bugpoint/Miscompilation.cpp @@ -25,6 +25,7 @@ #include "llvm/Transforms/Utils/Cloning.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/FileUtilities.h" +#include "llvm/Config/config.h" // for HAVE_LINK_R using namespace llvm; namespace llvm { @@ -65,6 +66,11 @@ ReduceMiscompilingPasses::doTest(std::vector &Prefix, // Check to see if the finished program matches the reference output... if (BD.diffProgram(BytecodeResult, "", true /*delete bytecode*/)) { std::cout << " nope.\n"; + if (Suffix.empty()) { + std::cerr << BD.getToolName() << ": I'm confused: the test fails when " + << "no passes are run, nondeterministic program?\n"; + exit(1); + } return KeepSuffix; // Miscompilation detected! } std::cout << " yup.\n"; // No miscompilation! @@ -817,9 +823,13 @@ bool BugDriver::debugCodeGenerator() { if (isExecutingJIT()) { std::cout << " lli -load " << SharedObject << " " << TestModuleBC; } else { - std::cout << " llc " << TestModuleBC << " -o " << TestModuleBC << ".s\n"; + std::cout << " llc -f " << TestModuleBC << " -o " << TestModuleBC<< ".s\n"; std::cout << " gcc " << SharedObject << " " << TestModuleBC - << ".s -o " << TestModuleBC << ".exe -Wl,-R.\n"; + << ".s -o " << TestModuleBC << ".exe"; +#if defined (HAVE_LINK_R) + std::cout << "-Wl,-R."; +#endif + std::cout << "\n"; std::cout << " " << TestModuleBC << ".exe"; } for (unsigned i=0, e = InputArgv.size(); i != e; ++i)