diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-01 16:13:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-01 16:13:49 +0000 |
commit | 587a6ce4b99346b5e785d0a5c360c6c6687b036a (patch) | |
tree | b577f12af2b4a5a47b068556a4be70959fc74f0d /tools | |
parent | 72666e6c30e9d23bc7aec3856661c1a13719b7c7 (diff) | |
download | external_llvm-587a6ce4b99346b5e785d0a5c360c6c6687b036a.zip external_llvm-587a6ce4b99346b5e785d0a5c360c6c6687b036a.tar.gz external_llvm-587a6ce4b99346b5e785d0a5c360c6c6687b036a.tar.bz2 |
Parameterize the performFinalCleanups a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7477 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/bugpoint/BugDriver.h | 5 | ||||
-rw-r--r-- | tools/bugpoint/ExtractFunction.cpp | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/tools/bugpoint/BugDriver.h b/tools/bugpoint/BugDriver.h index 40c170a..f86782a 100644 --- a/tools/bugpoint/BugDriver.h +++ b/tools/bugpoint/BugDriver.h @@ -147,9 +147,10 @@ private: /// performFinalCleanups - This method clones the current Program and performs /// a series of cleanups intended to get rid of extra cruft on the module - /// before handing it to the user... + /// before handing it to the user... if the module parameter is specified, it + /// operates directly on the specified Module, modifying it in place. /// - Module *performFinalCleanups() const; + Module *performFinalCleanups(Module *M = 0) const; /// initializeExecutionEnvironment - This method is used to set up the /// environment for executing LLVM programs. diff --git a/tools/bugpoint/ExtractFunction.cpp b/tools/bugpoint/ExtractFunction.cpp index 1aefcef..525c746 100644 --- a/tools/bugpoint/ExtractFunction.cpp +++ b/tools/bugpoint/ExtractFunction.cpp @@ -79,8 +79,8 @@ Module *BugDriver::deleteInstructionFromProgram(Instruction *I, /// a series of cleanups intended to get rid of extra cruft on the module /// before handing it to the user... /// -Module *BugDriver::performFinalCleanups() const { - Module *M = CloneModule(Program); +Module *BugDriver::performFinalCleanups(Module *InM) const { + Module *M = InM ? InM : CloneModule(Program); // Allow disabling these passes if they crash bugpoint. // @@ -97,7 +97,7 @@ Module *BugDriver::performFinalCleanups() const { CleanupPasses.add(createFunctionResolvingPass()); CleanupPasses.add(createGlobalDCEPass()); CleanupPasses.add(createDeadTypeEliminationPass()); - CleanupPasses.add(createDeadArgEliminationPass(true)); + CleanupPasses.add(createDeadArgEliminationPass(InM == 0)); CleanupPasses.add(createVerifierPass()); CleanupPasses.run(*M); return M; |