Add a bugpoint flag to disable block extraction.
authorDavid Goodwin <david_goodwin@apple.com>
Tue, 28 Jul 2009 23:08:36 +0000 (23:08 +0000)
committerDavid Goodwin <david_goodwin@apple.com>
Tue, 28 Jul 2009 23:08:36 +0000 (23:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77389 91177308-0d34-0410-b5e6-96231b3b80d8

tools/bugpoint/Miscompilation.cpp

index 7c7d5a3e357789aa5c944aff4dcdefe95ec94e82..310e2ac0a9d244a3a150b5f3b02bd0c6dcfdbb2d 100644 (file)
@@ -37,6 +37,10 @@ namespace {
     DisableLoopExtraction("disable-loop-extraction", 
         cl::desc("Don't extract loops when searching for miscompilations"),
         cl::init(false));
+  static llvm::cl::opt<bool> 
+    DisableBlockExtraction("disable-block-extraction", 
+        cl::desc("Don't extract blocks when searching for miscompilations"),
+        cl::init(false));
 
   class ReduceMiscompilingPasses : public ListReducer<const PassInfo*> {
     BugDriver &BD;
@@ -556,7 +560,7 @@ DebugAMiscompilation(BugDriver &BD,
     outs() << '\n';
   }
 
-  if (!BugpointIsInterrupted &&
+  if (!BugpointIsInterrupted && !DisableBlockExtraction && 
       ExtractBlocks(BD, TestFn, MiscompiledFunctions)) {
     // Okay, we extracted some blocks and the problem still appears.  See if we
     // can eliminate some of the created functions from being candidates.