summaryrefslogtreecommitdiffstats
path: root/llvm/tools/bugpoint/OptimizerDriver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/bugpoint/OptimizerDriver.cpp')
-rw-r--r--llvm/tools/bugpoint/OptimizerDriver.cpp49
1 files changed, 24 insertions, 25 deletions
diff --git a/llvm/tools/bugpoint/OptimizerDriver.cpp b/llvm/tools/bugpoint/OptimizerDriver.cpp
index 741be24adef..da679cf74ff 100644
--- a/llvm/tools/bugpoint/OptimizerDriver.cpp
+++ b/llvm/tools/bugpoint/OptimizerDriver.cpp
@@ -27,7 +27,6 @@
#include "llvm/Target/TargetData.h"
#include "llvm/Support/FileUtilities.h"
#include "llvm/Support/CommandLine.h"
-#include "llvm/Support/Streams.h"
#include "llvm/System/Path.h"
#include "llvm/System/Program.h"
#include "llvm/Config/alloca.h"
@@ -71,15 +70,15 @@ void BugDriver::EmitProgressBitcode(const std::string &ID, bool NoFlyer) {
//
std::string Filename = "bugpoint-" + ID + ".bc";
if (writeProgramToFile(Filename)) {
- cerr << "Error opening file '" << Filename << "' for writing!\n";
+ errs() << "Error opening file '" << Filename << "' for writing!\n";
return;
}
- cout << "Emitted bitcode to '" << Filename << "'\n";
+ outs() << "Emitted bitcode to '" << Filename << "'\n";
if (NoFlyer || PassesToRun.empty()) return;
- cout << "\n*** You can reproduce the problem with: ";
- cout << "opt " << Filename << " ";
- cout << getPassesString(PassesToRun) << "\n";
+ outs() << "\n*** You can reproduce the problem with: ";
+ outs() << "opt " << Filename << " ";
+ outs() << getPassesString(PassesToRun) << "\n";
}
int BugDriver::runPassesAsChild(const std::vector<const PassInfo*> &Passes) {
@@ -88,7 +87,7 @@ int BugDriver::runPassesAsChild(const std::vector<const PassInfo*> &Passes) {
std::ios::binary;
std::ofstream OutFile(ChildOutput.c_str(), io_mode);
if (!OutFile.good()) {
- cerr << "Error opening bitcode file: " << ChildOutput << "\n";
+ errs() << "Error opening bitcode file: " << ChildOutput << "\n";
return 1;
}
@@ -100,7 +99,7 @@ int BugDriver::runPassesAsChild(const std::vector<const PassInfo*> &Passes) {
if (Passes[i]->getNormalCtor())
PM.add(Passes[i]->getNormalCtor()());
else
- cerr << "Cannot create pass yet: " << Passes[i]->getPassName() << "\n";
+ errs() << "Cannot create pass yet: " << Passes[i]->getPassName() << "\n";
}
// Check that the module is well formed on completion of optimization
PM.add(createVerifierPass());
@@ -121,20 +120,20 @@ cl::opt<bool> SilencePasses("silence-passes", cl::desc("Suppress output of runni
/// optimizations fail for some reason (optimizer crashes), return true,
/// otherwise return false. If DeleteOutput is set to true, the bitcode is
/// deleted on success, and the filename string is undefined. This prints to
-/// cout a single line message indicating whether compilation was successful or
-/// failed.
+/// outs() a single line message indicating whether compilation was successful
+/// or failed.
///
bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes,
std::string &OutputFilename, bool DeleteOutput,
bool Quiet, unsigned NumExtraArgs,
const char * const *ExtraArgs) const {
// setup the output file name
- cout << std::flush;
+ outs().flush();
sys::Path uniqueFilename("bugpoint-output.bc");
std::string ErrMsg;
if (uniqueFilename.makeUnique(true, &ErrMsg)) {
- cerr << getToolName() << ": Error making unique filename: "
- << ErrMsg << "\n";
+ errs() << getToolName() << ": Error making unique filename: "
+ << ErrMsg << "\n";
return(1);
}
OutputFilename = uniqueFilename.toString();
@@ -142,15 +141,15 @@ bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes,
// set up the input file name
sys::Path inputFilename("bugpoint-input.bc");
if (inputFilename.makeUnique(true, &ErrMsg)) {
- cerr << getToolName() << ": Error making unique filename: "
- << ErrMsg << "\n";
+ errs() << getToolName() << ": Error making unique filename: "
+ << ErrMsg << "\n";
return(1);
}
std::ios::openmode io_mode = std::ios::out | std::ios::trunc |
std::ios::binary;
std::ofstream InFile(inputFilename.c_str(), io_mode);
if (!InFile.good()) {
- cerr << "Error opening bitcode file: " << inputFilename << "\n";
+ errs() << "Error opening bitcode file: " << inputFilename << "\n";
return(1);
}
WriteBitcodeToFile(Program, InFile);
@@ -212,17 +211,17 @@ bool BugDriver::runPasses(const std::vector<const PassInfo*> &Passes,
if (!Quiet) {
if (result == 0)
- cout << "Success!\n";
+ outs() << "Success!\n";
else if (result > 0)
- cout << "Exited with error code '" << result << "'\n";
+ outs() << "Exited with error code '" << result << "'\n";
else if (result < 0) {
if (result == -1)
- cout << "Execute failed: " << ErrMsg << "\n";
+ outs() << "Execute failed: " << ErrMsg << "\n";
else
- cout << "Crashed with signal #" << abs(result) << "\n";
+ outs() << "Crashed with signal #" << abs(result) << "\n";
}
if (result & 0x01000000)
- cout << "Dumped core\n";
+ outs() << "Dumped core\n";
}
// Was the child successful?
@@ -242,8 +241,8 @@ Module *BugDriver::runPassesOn(Module *M,
if (runPasses(Passes, BitcodeResult, false/*delete*/, true/*quiet*/,
NumExtraArgs, ExtraArgs)) {
if (AutoDebugCrashes) {
- cerr << " Error running this sequence of passes"
- << " on the input program!\n";
+ errs() << " Error running this sequence of passes"
+ << " on the input program!\n";
delete OldProgram;
EmitProgressBitcode("pass-error", false);
exit(debugOptimizerCrash());
@@ -257,8 +256,8 @@ Module *BugDriver::runPassesOn(Module *M,
Module *Ret = ParseInputFile(BitcodeResult, Context);
if (Ret == 0) {
- cerr << getToolName() << ": Error reading bitcode file '"
- << BitcodeResult << "'!\n";
+ errs() << getToolName() << ": Error reading bitcode file '"
+ << BitcodeResult << "'!\n";
exit(1);
}
sys::Path(BitcodeResult).eraseFromDisk(); // No longer need the file on disk
OpenPOWER on IntegriCloud