diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-23 03:13:20 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-23 03:13:20 +0000 |
commit | 565449d79ee69e57e3bf684f9bd9eabbe6e6da44 (patch) | |
tree | cd204561234740202df209aa6a5818117fb8d811 /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | 84cffc22d413e026cb3cb5b814578c6c55f4ff78 (diff) | |
download | bcm5719-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.cpp | 32 |
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... |