diff options
-rw-r--r-- | tools/bugpoint/BugDriver.h | 13 | ||||
-rw-r--r-- | tools/bugpoint/ExtractFunction.cpp | 29 |
2 files changed, 1 insertions, 41 deletions
diff --git a/tools/bugpoint/BugDriver.h b/tools/bugpoint/BugDriver.h index 263a2c9ba7..79319894a7 100644 --- a/tools/bugpoint/BugDriver.h +++ b/tools/bugpoint/BugDriver.h @@ -110,19 +110,6 @@ private: return runPasses(PassesToRun, Filename, DeleteOutput); } - /// runPass - Run only the specified pass on the program. - /// - bool runPass(const PassInfo *P, bool DeleteOutput = true) const { - return runPasses(std::vector<const PassInfo*>(1, P), DeleteOutput); - } - - /// extractFunctionFromModule - This method is used to extract the specified - /// (non-external) function from the current program, slim down the module, - /// and then return it. This does not modify Program at all, it modifies a - /// copy, which it returns. - /// - Module *extractFunctionFromModule(Function *F) const; - /// deleteInstructionFromProgram - This method clones the current Program and /// deletes the specified instruction from the cloned module. It then runs a /// series of cleanup passes (ADCE and SimplifyCFG) to eliminate any code diff --git a/tools/bugpoint/ExtractFunction.cpp b/tools/bugpoint/ExtractFunction.cpp index 007b726c2e..2148e405f5 100644 --- a/tools/bugpoint/ExtractFunction.cpp +++ b/tools/bugpoint/ExtractFunction.cpp @@ -15,31 +15,6 @@ #include "llvm/Type.h" #include "llvm/Constant.h" -/// extractFunctionFromModule - This method is used to extract the specified -/// (non-external) function from the current program, slim down the module, and -/// then return it. This does not modify Program at all, it modifies a copy, -/// which it returns. -Module *BugDriver::extractFunctionFromModule(Function *F) const { - Module *Result = CloneModule(Program); - - // Translate from the old module to the new copied module... - Module::iterator RFI = Result->begin(); // Get iterator to corresponding fn - std::advance(RFI, std::distance(Program->begin(), Module::iterator(F))); - - // In addition to just parsing the input from GCC, we also want to spiff it up - // a little bit. Do this now. - // - PassManager Passes; - Passes.add(createFunctionExtractionPass(RFI)); // Extract the function - Passes.add(createGlobalDCEPass()); // Delete unreachable globals - Passes.add(createFunctionResolvingPass()); // Delete prototypes - Passes.add(createDeadTypeEliminationPass()); // Remove dead types... - Passes.add(createVerifierPass()); - Passes.run(*Result); - return Result; -} - - /// deleteInstructionFromProgram - This method clones the current Program and /// deletes the specified instruction from the cloned module. It then runs a /// series of cleanup passes (ADCE and SimplifyCFG) to eliminate any code which @@ -69,9 +44,7 @@ Module *BugDriver::deleteInstructionFromProgram(Instruction *I, // Remove the instruction from the program. I->getParent()->getInstList().erase(I); - // In addition to just parsing the input from GCC, we also want to spiff it up - // a little bit. Do this now. - // + // Spiff up the output a little bit. PassManager Passes; if (Simplification > 2) Passes.add(createAggressiveDCEPass()); // Remove dead code... |