summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-23 03:13:20 +0000
committerChris Lattner <sabre@nondot.org>2009-08-23 03:13:20 +0000
commit565449d79ee69e57e3bf684f9bd9eabbe6e6da44 (patch)
treecd204561234740202df209aa6a5818117fb8d811 /llvm/lib/CodeGen/MachineFunction.cpp
parent84cffc22d413e026cb3cb5b814578c6c55f4ff78 (diff)
downloadbcm5719-llvm-565449d79ee69e57e3bf684f9bd9eabbe6e6da44.tar.gz
bcm5719-llvm-565449d79ee69e57e3bf684f9bd9eabbe6e6da44.zip
remove std::ostream versions of printing stuff for MBB and MF,
upgrading a few things to use raw_ostream llvm-svn: 79811
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineFunction.cpp32
1 files changed, 13 insertions, 19 deletions
diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp
index e904b28a634..5bf86e3630f 100644
--- a/llvm/lib/CodeGen/MachineFunction.cpp
+++ b/llvm/lib/CodeGen/MachineFunction.cpp
@@ -33,18 +33,16 @@
#include "llvm/Support/Compiler.h"
#include "llvm/Support/GraphWriter.h"
#include "llvm/Support/raw_ostream.h"
-#include <fstream>
-#include <sstream>
using namespace llvm;
namespace {
struct VISIBILITY_HIDDEN Printer : public MachineFunctionPass {
static char ID;
- std::ostream *OS;
+ raw_ostream &OS;
const std::string Banner;
- Printer(std::ostream *os, const std::string &banner)
+ Printer(raw_ostream &os, const std::string &banner)
: MachineFunctionPass(&ID), OS(os), Banner(banner) {}
const char *getPassName() const { return "MachineFunction Printer"; }
@@ -55,8 +53,8 @@ namespace {
}
bool runOnMachineFunction(MachineFunction &MF) {
- (*OS) << Banner;
- MF.print (*OS);
+ OS << Banner;
+ MF.print(OS);
return false;
}
};
@@ -66,7 +64,7 @@ namespace {
/// Returns a newly-created MachineFunction Printer pass. The default banner is
/// empty.
///
-FunctionPass *llvm::createMachineFunctionPrinterPass(std::ostream *OS,
+FunctionPass *llvm::createMachineFunctionPrinterPass(raw_ostream &OS,
const std::string &Banner){
return new Printer(OS, Banner);
}
@@ -220,11 +218,6 @@ void MachineFunction::dump() const {
print(errs());
}
-void MachineFunction::print(std::ostream &OS) const {
- raw_os_ostream RawOS(OS);
- print(RawOS);
-}
-
void MachineFunction::print(raw_ostream &OS) const {
OS << "# Machine code for " << Fn->getName() << "():\n";
@@ -284,15 +277,16 @@ namespace llvm {
!Node->getBasicBlock()->getName().empty())
return Node->getBasicBlock()->getNameStr() + ":";
- std::ostringstream Out;
- if (ShortNames) {
- Out << Node->getNumber() << ':';
- return Out.str();
+ std::string OutStr;
+ {
+ raw_string_ostream OSS(OutStr);
+
+ if (ShortNames)
+ OSS << Node->getNumber() << ':';
+ else
+ Node->print(OSS);
}
- Node->print(Out);
-
- std::string OutStr = Out.str();
if (OutStr[0] == '\n') OutStr.erase(OutStr.begin());
// Process string output to make it nicer...
OpenPOWER on IntegriCloud