Adjust to match new ListReducer interface
authorChris Lattner <sabre@nondot.org>
Thu, 24 Apr 2003 22:24:22 +0000 (22:24 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 24 Apr 2003 22:24:22 +0000 (22:24 +0000)
Move function to generic code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5910 91177308-0d34-0410-b5e6-96231b3b80d8

tools/bugpoint/Miscompilation.cpp

index 89854f52c3feac705b16a2dbd392455c3677d698..0ed35c838952add2017d49d84fc84f0a4c354129 100644 (file)
@@ -32,13 +32,13 @@ class ReduceMiscompilingPasses : public ListReducer<const PassInfo*> {
 public:
   ReduceMiscompilingPasses(BugDriver &bd) : BD(bd) {}
 
-  virtual TestResult doTest(const std::vector<const PassInfo*> &Prefix,
-                            const std::vector<const PassInfo*> &Kept);
+  virtual TestResult doTest(std::vector<const PassInfo*> &Prefix,
+                            std::vector<const PassInfo*> &Kept);
 };
 
 ReduceMiscompilingPasses::TestResult
-ReduceMiscompilingPasses::doTest(const std::vector<const PassInfo*> &Prefix,
-                                 const std::vector<const PassInfo*> &Kept) {
+ReduceMiscompilingPasses::doTest(std::vector<const PassInfo*> &Prefix,
+                                 std::vector<const PassInfo*> &Kept) {
   // First, run the program with just the Kept passes.  If it is still broken
   // with JUST the kept passes, discard the prefix passes.
   std::cout << "Checking to see if '" << getPassesString(Kept)
@@ -135,8 +135,8 @@ class ReduceMiscompilingFunctions : public ListReducer<Function*> {
 public:
   ReduceMiscompilingFunctions(BugDriver &bd) : BD(bd) {}
 
-  virtual TestResult doTest(const std::vector<Function*> &Prefix,
-                            const std::vector<Function*> &Kept) {
+  virtual TestResult doTest(std::vector<Function*> &Prefix,
+                            std::vector<Function*> &Kept) {
     if (TestFuncs(Kept, false))
       return KeepSuffix;
     if (!Prefix.empty() && TestFuncs(Prefix, false))
@@ -147,21 +147,6 @@ public:
   bool TestFuncs(const std::vector<Function*> &Prefix, bool EmitBytecode);
 };
 
-// DeleteFunctionBody - "Remove" the function by deleting all of it's basic
-// blocks, making it external.
-//
-static void DeleteFunctionBody(Function *F) {
-  // First, break circular use/def chain references...
-  for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I)
-    I->dropAllReferences();
-
-  // Next, delete all of the basic blocks.
-  F->getBasicBlockList().clear();
-
-  assert(F->isExternal() && "This didn't make the function external!");
-}
-
-
 bool ReduceMiscompilingFunctions::TestFuncs(const std::vector<Function*> &Funcs,
                                             bool EmitBytecode) {
   // Test to see if the function is misoptimized if we ONLY run it on the