summaryrefslogtreecommitdiff
path: root/tools/bugpoint/CodeGeneratorBug.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-03 22:29:43 +0000
committerChris Lattner <sabre@nondot.org>2003-08-03 22:29:43 +0000
commit15d11276c1fb16c0b521505bbdbce419f64afc19 (patch)
tree51c88bf091333b3934fdacab2466dfc090d7e3d2 /tools/bugpoint/CodeGeneratorBug.cpp
parenta8af7799dd4b9dda7016f72b2e5f7b7d07780a8a (diff)
downloadllvm-15d11276c1fb16c0b521505bbdbce419f64afc19.tar.gz
llvm-15d11276c1fb16c0b521505bbdbce419f64afc19.tar.bz2
llvm-15d11276c1fb16c0b521505bbdbce419f64afc19.tar.xz
Fix problem I introduced in bugpoint with the cleanup functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7549 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/CodeGeneratorBug.cpp')
-rw-r--r--tools/bugpoint/CodeGeneratorBug.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/tools/bugpoint/CodeGeneratorBug.cpp b/tools/bugpoint/CodeGeneratorBug.cpp
index 10e2186df2..2e2e532ec9 100644
--- a/tools/bugpoint/CodeGeneratorBug.cpp
+++ b/tools/bugpoint/CodeGeneratorBug.cpp
@@ -172,10 +172,6 @@ bool ReduceMisCodegenFunctions::TestFuncs(const std::vector<Function*> &Funcs,
abort();
}
- // Clean up the modules, removing extra cruft that we don't need anymore...
- SafeModule = BD.performFinalCleanups(SafeModule);
- TestModule = BD.performFinalCleanups(TestModule);
-
DEBUG(std::cerr << "Safe module:\n";
typedef Module::iterator MI;
typedef Module::giterator MGI;
@@ -200,10 +196,6 @@ bool ReduceMisCodegenFunctions::TestFuncs(const std::vector<Function*> &Funcs,
exit(1);
}
- // Make a shared library
- std::string SharedObject;
- BD.compileSharedObject(SafeModuleBC, SharedObject);
-
// Remove all functions from the Test module EXCEPT for the ones specified in
// Funcs. We know which ones these are because they are non-external in
// ToOptimize, but external in ToNotOptimize.
@@ -222,11 +214,20 @@ bool ReduceMisCodegenFunctions::TestFuncs(const std::vector<Function*> &Funcs,
std::cerr << "Bytecode file corrupted!\n";
exit(1);
}
+
+ // Clean up the modules, removing extra cruft that we don't need anymore...
+ SafeModule = BD.performFinalCleanups(SafeModule);
+ TestModule = BD.performFinalCleanups(TestModule);
+
if (BD.writeProgramToFile(TestModuleBC, TestModule)) {
std::cerr << "Error writing bytecode to `" << SafeModuleBC << "'\nExiting.";
exit(1);
}
+ // Make a shared library
+ std::string SharedObject;
+ BD.compileSharedObject(SafeModuleBC, SharedObject);
+
delete SafeModule;
delete TestModule;