Don't emit modules with lots of cruft hanging off of them.
authorChris Lattner <sabre@nondot.org>
Fri, 1 Aug 2003 16:14:33 +0000 (16:14 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 1 Aug 2003 16:14:33 +0000 (16:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7478 91177308-0d34-0410-b5e6-96231b3b80d8

tools/bugpoint/CodeGeneratorBug.cpp

index 02ef5e3459a5010ae4652d062c7cf65f8fbeb31a..bc557e7bc757c03dae9e24cff3def54ceb0da5ed 100644 (file)
@@ -167,6 +167,15 @@ bool ReduceMisCodegenFunctions::TestFuncs(const std::vector<Function*> &Funcs,
     }
   }
 
+  if (verifyModule(*SafeModule) || verifyModule(*TestModule)) {
+    std::cerr << "Bugpoint has a bug, an corrupted a module!!\n";
+    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;
@@ -185,10 +194,7 @@ bool ReduceMisCodegenFunctions::TestFuncs(const std::vector<Function*> &Funcs,
 
   // Write out the bytecode to be sent to CBE
   std::string SafeModuleBC = getUniqueFilename("bugpoint.safe.bc");
-  if (verifyModule(*SafeModule)) {
-    std::cerr << "Bytecode file corrupted!\n";
-    exit(1);
-  }
+
   if (BD.writeProgramToFile(SafeModuleBC, SafeModule)) {
     std::cerr << "Error writing bytecode to `" << SafeModuleBC << "'\nExiting.";
     exit(1);