summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CppBackend
diff options
context:
space:
mode:
authorDavid Greene <greened@obbligato.org>2009-07-14 20:18:05 +0000
committerDavid Greene <greened@obbligato.org>2009-07-14 20:18:05 +0000
commita31f96cf2bb2d4868d629b17b4e8ec106a23e776 (patch)
tree90d314a81dfda17ca4c96c57774b0a789e25df90 /llvm/lib/Target/CppBackend
parentf6a5ab9abddb9c57c116449490114ec695f7e85f (diff)
downloadbcm5719-llvm-a31f96cf2bb2d4868d629b17b4e8ec106a23e776.tar.gz
bcm5719-llvm-a31f96cf2bb2d4868d629b17b4e8ec106a23e776.zip
Have asm printers use formatted_raw_ostream directly to avoid a
dynamic_cast<>. llvm-svn: 75670
Diffstat (limited to 'llvm/lib/Target/CppBackend')
-rw-r--r--llvm/lib/Target/CppBackend/CPPBackend.cpp12
-rw-r--r--llvm/lib/Target/CppBackend/CPPTargetMachine.h5
2 files changed, 9 insertions, 8 deletions
diff --git a/llvm/lib/Target/CppBackend/CPPBackend.cpp b/llvm/lib/Target/CppBackend/CPPBackend.cpp
index 9ebbf00dbc9..b2d72dd228c 100644
--- a/llvm/lib/Target/CppBackend/CPPBackend.cpp
+++ b/llvm/lib/Target/CppBackend/CPPBackend.cpp
@@ -29,8 +29,8 @@
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/Streams.h"
-#include "llvm/Support/raw_ostream.h"
#include "llvm/Config/config.h"
#include <algorithm>
#include <set>
@@ -98,7 +98,7 @@ namespace {
/// CppWriter - This class is the main chunk of code that converts an LLVM
/// module to a C++ translation unit.
class CppWriter : public ModulePass {
- raw_ostream &Out;
+ formatted_raw_ostream &Out;
const Module *TheModule;
uint64_t uniqueNum;
TypeMap TypeNames;
@@ -113,7 +113,7 @@ namespace {
public:
static char ID;
- explicit CppWriter(raw_ostream &o) :
+ explicit CppWriter(formatted_raw_ostream &o) :
ModulePass(&ID), Out(o), uniqueNum(0), is_inline(false) {}
virtual const char *getPassName() const { return "C++ backend"; }
@@ -166,7 +166,7 @@ namespace {
};
static unsigned indent_level = 0;
- inline raw_ostream& nl(raw_ostream& Out, int delta = 0) {
+ inline formatted_raw_ostream& nl(formatted_raw_ostream& Out, int delta = 0) {
Out << "\n";
if (delta >= 0 || indent_level >= unsigned(-delta))
indent_level += delta;
@@ -1807,8 +1807,8 @@ namespace {
Out << "#include <llvm/BasicBlock.h>\n";
Out << "#include <llvm/Instructions.h>\n";
Out << "#include <llvm/InlineAsm.h>\n";
+ Out << "#include <llvm/Support/FormattedStream.h>\n";
Out << "#include <llvm/Support/MathExtras.h>\n";
- Out << "#include <llvm/Support/raw_ostream.h>\n";
Out << "#include <llvm/Pass.h>\n";
Out << "#include <llvm/PassManager.h>\n";
Out << "#include <llvm/ADT/SmallVector.h>\n";
@@ -2013,7 +2013,7 @@ char CppWriter::ID = 0;
//===----------------------------------------------------------------------===//
bool CPPTargetMachine::addPassesToEmitWholeFile(PassManager &PM,
- raw_ostream &o,
+ formatted_raw_ostream &o,
CodeGenFileType FileType,
CodeGenOpt::Level OptLevel) {
if (FileType != TargetMachine::AssemblyFile) return true;
diff --git a/llvm/lib/Target/CppBackend/CPPTargetMachine.h b/llvm/lib/Target/CppBackend/CPPTargetMachine.h
index db4bc0e722c..84a07eaece3 100644
--- a/llvm/lib/Target/CppBackend/CPPTargetMachine.h
+++ b/llvm/lib/Target/CppBackend/CPPTargetMachine.h
@@ -19,7 +19,7 @@
namespace llvm {
-class raw_ostream;
+class formatted_raw_ostream;
struct CPPTargetMachine : public TargetMachine {
const TargetData DataLayout; // Calculates type size & alignment
@@ -28,7 +28,8 @@ struct CPPTargetMachine : public TargetMachine {
: DataLayout(&M) {}
virtual bool WantsWholeFile() const { return true; }
- virtual bool addPassesToEmitWholeFile(PassManager &PM, raw_ostream &Out,
+ virtual bool addPassesToEmitWholeFile(PassManager &PM,
+ formatted_raw_ostream &Out,
CodeGenFileType FileType,
CodeGenOpt::Level OptLevel);
OpenPOWER on IntegriCloud