mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 08:17:40 +00:00
Instead of abusing swapProgramIn, just add a Module argument to
EmitProgressBitcode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109602 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -51,13 +51,13 @@ namespace {
|
||||
/// file. If an error occurs, true is returned.
|
||||
///
|
||||
bool BugDriver::writeProgramToFile(const std::string &Filename,
|
||||
Module *M) const {
|
||||
const Module *M) const {
|
||||
std::string ErrInfo;
|
||||
raw_fd_ostream Out(Filename.c_str(), ErrInfo,
|
||||
raw_fd_ostream::F_Binary);
|
||||
if (!ErrInfo.empty()) return true;
|
||||
|
||||
WriteBitcodeToFile(M ? M : Program, Out);
|
||||
WriteBitcodeToFile(M, Out);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -65,12 +65,13 @@ bool BugDriver::writeProgramToFile(const std::string &Filename,
|
||||
/// EmitProgressBitcode - This function is used to output the current Program
|
||||
/// to a file named "bugpoint-ID.bc".
|
||||
///
|
||||
void BugDriver::EmitProgressBitcode(const std::string &ID, bool NoFlyer) {
|
||||
void BugDriver::EmitProgressBitcode(const Module *M,
|
||||
const std::string &ID, bool NoFlyer) {
|
||||
// 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
|
||||
//
|
||||
std::string Filename = OutputPrefix + "-" + ID + ".bc";
|
||||
if (writeProgramToFile(Filename)) {
|
||||
if (writeProgramToFile(Filename, M)) {
|
||||
errs() << "Error opening file '" << Filename << "' for writing!\n";
|
||||
return;
|
||||
}
|
||||
@@ -246,7 +247,7 @@ Module *BugDriver::runPassesOn(Module *M,
|
||||
errs() << " Error running this sequence of passes"
|
||||
<< " on the input program!\n";
|
||||
delete OldProgram;
|
||||
EmitProgressBitcode("pass-error", false);
|
||||
EmitProgressBitcode(Program, "pass-error", false);
|
||||
exit(debugOptimizerCrash());
|
||||
}
|
||||
swapProgramIn(OldProgram);
|
||||
|
||||
Reference in New Issue
Block a user