summaryrefslogtreecommitdiff
path: root/tools/bugpoint
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-02-23 06:12:11 +0000
committerChris Lattner <sabre@nondot.org>2005-02-23 06:12:11 +0000
commit9b5b1905dbad19de374e7617f615ba522ffe0468 (patch)
tree3b46c617c4af9f72a61958ba9e918e355152f3c3 /tools/bugpoint
parent572dd08204008d810c0f939e85e73f3cbba00e35 (diff)
downloadllvm-9b5b1905dbad19de374e7617f615ba522ffe0468.tar.gz
llvm-9b5b1905dbad19de374e7617f615ba522ffe0468.tar.bz2
llvm-9b5b1905dbad19de374e7617f615ba522ffe0468.tar.xz
Fix a bugpoint crash that JeffC noticed, looking like this:
*** Attempting to perform final cleanups: Final cleanups failed. Sorry. :( Ple ase report a bug! <llc>llc.exe: bytecode didn't read correctly. llc.exe: bytecode didn't read correctly. <crash> Assertion failed: M && "You can't write a null module!!", file c:\llvm\lib\bytec ode\writer\writer.cpp, line 1094 The fact that llc bombed (in this case) is ok, but bugpoint shouldn't crash after this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20285 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint')
-rw-r--r--tools/bugpoint/ExtractFunction.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/bugpoint/ExtractFunction.cpp b/tools/bugpoint/ExtractFunction.cpp
index 078c7baf4e..0eecc49efd 100644
--- a/tools/bugpoint/ExtractFunction.cpp
+++ b/tools/bugpoint/ExtractFunction.cpp
@@ -98,7 +98,7 @@ static const PassInfo *getPI(Pass *P) {
/// performFinalCleanups - This method clones the current Program and performs
/// a series of cleanups intended to get rid of extra cruft on the module
-/// before handing it to the user...
+/// before handing it to the user.
///
Module *BugDriver::performFinalCleanups(Module *M, bool MayModifySemantics) {
// Make all functions external, so GlobalDCE doesn't delete them...
@@ -118,6 +118,7 @@ Module *BugDriver::performFinalCleanups(Module *M, bool MayModifySemantics) {
Module *New = runPassesOn(M, CleanupPasses);
if (New == 0) {
std::cerr << "Final cleanups failed. Sorry. :( Please report a bug!\n";
+ return M;
}
delete M;
return New;