diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-08-05 00:29:04 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-08-05 00:29:04 +0000 |
| commit | ca356afe09454b3378165ded4eda294bd6341428 (patch) | |
| tree | b6f47b6e1a27b514a783a69302401612e6aa61d7 /tools/bugpoint/OptimizerDriver.cpp | |
| parent | 602902ab80b5667c190e18a77c71822c0507e294 (diff) | |
Make EmitProgressBitcode const and add a Module argument to runPasses. Use
that argument to simplify runPassesOn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110291 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint/OptimizerDriver.cpp')
| -rw-r--r-- | tools/bugpoint/OptimizerDriver.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp index 48936caf5f..a6b90dc44b 100644 --- a/tools/bugpoint/OptimizerDriver.cpp +++ b/tools/bugpoint/OptimizerDriver.cpp @@ -66,7 +66,8 @@ bool BugDriver::writeProgramToFile(const std::string &Filename, /// to a file named "bugpoint-ID.bc". /// void BugDriver::EmitProgressBitcode(const Module *M, - const std::string &ID, bool NoFlyer) { + const std::string &ID, + bool NoFlyer) const { // Output the input to the current pass to a bitcode file, emit a message // telling the user how to reproduce it: opt -foo blah.bc // @@ -125,7 +126,8 @@ cl::opt<bool> SilencePasses("silence-passes", cl::desc("Suppress output of runni /// outs() a single line message indicating whether compilation was successful /// or failed. /// -bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes, +bool BugDriver::runPasses(Module *Program, + const std::vector<const PassInfo*> &Passes, std::string &OutputFilename, bool DeleteOutput, bool Quiet, unsigned NumExtraArgs, const char * const *ExtraArgs) const { @@ -239,24 +241,19 @@ Module *BugDriver::runPassesOn(Module *M, const std::vector<const PassInfo*> &Passes, bool AutoDebugCrashes, unsigned NumExtraArgs, const char * const *ExtraArgs) { - Module *OldProgram = swapProgramIn(M); std::string BitcodeResult; - if (runPasses(Passes, BitcodeResult, false/*delete*/, true/*quiet*/, + if (runPasses(M, Passes, BitcodeResult, false/*delete*/, true/*quiet*/, NumExtraArgs, ExtraArgs)) { if (AutoDebugCrashes) { errs() << " Error running this sequence of passes" << " on the input program!\n"; - delete OldProgram; - EmitProgressBitcode(Program, "pass-error", false); + delete swapProgramIn(M); + EmitProgressBitcode(M, "pass-error", false); exit(debugOptimizerCrash()); } - swapProgramIn(OldProgram); return 0; } - // Restore the current program. - swapProgramIn(OldProgram); - Module *Ret = ParseInputFile(BitcodeResult, Context); if (Ret == 0) { errs() << getToolName() << ": Error reading bitcode file '" |
