aboutsummaryrefslogtreecommitdiffstats
path: root/tools/bugpoint
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-05-08 21:54:56 +0000
committerChris Lattner <sabre@nondot.org>2005-05-08 21:54:56 +0000
commit56c418676a308034e5eecf10d3f96ced2d1fab24 (patch)
tree92f0f6fa17f2a2849fbc18a18bb2edaca87e55ee /tools/bugpoint
parent6d60924e3d16dc880e9419f9eaf15f803d7e51b7 (diff)
downloadexternal_llvm-56c418676a308034e5eecf10d3f96ced2d1fab24.zip
external_llvm-56c418676a308034e5eecf10d3f96ced2d1fab24.tar.gz
external_llvm-56c418676a308034e5eecf10d3f96ced2d1fab24.tar.bz2
If loopextract breaks the program provide output so that we can repro the
problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21790 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint')
-rw-r--r--tools/bugpoint/Miscompilation.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp
index 4d28ff8..860b9b4 100644
--- a/tools/bugpoint/Miscompilation.cpp
+++ b/tools/bugpoint/Miscompilation.cpp
@@ -260,7 +260,6 @@ static bool ExtractLoops(BugDriver &BD,
}
std::cerr << "Extracted a loop from the breaking portion of the program.\n";
- delete ToOptimize;
// Bugpoint is intentionally not very trusting of LLVM transformations. In
// particular, we're not going to assume that the loop extractor works, so
@@ -275,10 +274,19 @@ static bool ExtractLoops(BugDriver &BD,
std::cerr << " *** ERROR: Loop extraction broke the program. :("
<< " Please report a bug!\n";
std::cerr << " Continuing on with un-loop-extracted version.\n";
+
+ BD.writeProgramToFile("bugpoint-loop-extract-fail-tno.bc", ToNotOptimize);
+ BD.writeProgramToFile("bugpoint-loop-extract-fail-to.bc", ToOptimize);
+ BD.writeProgramToFile("bugpoint-loop-extract-fail-to-le.bc",
+ ToOptimizeLoopExtracted);
+
+ std::cerr << "Please submit the bugpoint-loop-extract-fail-*.bc files.\n";
+ delete ToOptimize;
delete ToNotOptimize;
delete ToOptimizeLoopExtracted;
return MadeChange;
}
+ delete ToOptimize;
BD.switchToInterpreter(AI);
std::cout << " Testing after loop extraction:\n";