If the block extractor fails, actually emit the bc file that failed to extract
authorChris Lattner <sabre@nondot.org>
Thu, 12 Aug 2004 02:36:50 +0000 (02:36 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 12 Aug 2004 02:36:50 +0000 (02:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15675 91177308-0d34-0410-b5e6-96231b3b80d8

tools/bugpoint/ExtractFunction.cpp

index ecc2652556eb342aa5c20d0f5927a621f1aa440c..7806857f2ef1f75e07a4186a4e51f72344d97ce0 100644 (file)
@@ -262,7 +262,11 @@ Module *BugDriver::ExtractMappedBlocksFromModule(const
   PI.push_back(getPI(new BlockExtractorPass()));
   Module *Ret = runPassesOn(M, PI);
   BlocksToNotExtract.clear();
-  if (Ret == 0)
+  if (Ret == 0) {
     std::cout << "*** Basic Block extraction failed, please report a bug!\n";
+    M = swapProgramIn(M);
+    EmitProgressBytecode("basicblockextractfail", true);
+    M = swapProgramIn(M);
+  }
   return Ret;
 }