Have asm printers use formatted_raw_ostream directly to avoid a
dynamic_cast<>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75670 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/MSP430/MSP430.h b/lib/Target/MSP430/MSP430.h
index fc13c9e..0562832 100644
--- a/lib/Target/MSP430/MSP430.h
+++ b/lib/Target/MSP430/MSP430.h
@@ -20,11 +20,11 @@
 namespace llvm {
   class MSP430TargetMachine;
   class FunctionPass;
-  class raw_ostream;
+  class formatted_raw_ostream;
 
   FunctionPass *createMSP430ISelDag(MSP430TargetMachine &TM,
                                     CodeGenOpt::Level OptLevel);
-  FunctionPass *createMSP430CodePrinterPass(raw_ostream &o,
+  FunctionPass *createMSP430CodePrinterPass(formatted_raw_ostream &o,
                                             MSP430TargetMachine &tm,
                                             bool verbose);
 } // end namespace llvm;
diff --git a/lib/Target/MSP430/MSP430AsmPrinter.cpp b/lib/Target/MSP430/MSP430AsmPrinter.cpp
index c92824a..68cfe40 100644
--- a/lib/Target/MSP430/MSP430AsmPrinter.cpp
+++ b/lib/Target/MSP430/MSP430AsmPrinter.cpp
@@ -29,8 +29,8 @@
 #include "llvm/Target/TargetData.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/Support/Compiler.h"
+#include "llvm/Support/FormattedStream.h"
 #include "llvm/Support/Mangler.h"
-#include "llvm/Support/raw_ostream.h"
 #include "llvm/Support/ErrorHandling.h"
 
 using namespace llvm;
@@ -40,7 +40,7 @@
 namespace {
   class VISIBILITY_HIDDEN MSP430AsmPrinter : public AsmPrinter {
   public:
-    MSP430AsmPrinter(raw_ostream &O, MSP430TargetMachine &TM,
+    MSP430AsmPrinter(formatted_raw_ostream &O, MSP430TargetMachine &TM,
                      const TargetAsmInfo *TAI, bool V)
       : AsmPrinter(O, TM, TAI, V) {}
 
@@ -75,7 +75,7 @@
 /// using the given target machine description.  This should work
 /// regardless of whether the function is in SSA form.
 ///
-FunctionPass *llvm::createMSP430CodePrinterPass(raw_ostream &o,
+FunctionPass *llvm::createMSP430CodePrinterPass(formatted_raw_ostream &o,
                                                 MSP430TargetMachine &tm,
                                                 bool verbose) {
   return new MSP430AsmPrinter(o, tm, tm.getTargetAsmInfo(), verbose);
diff --git a/lib/Target/MSP430/MSP430TargetMachine.cpp b/lib/Target/MSP430/MSP430TargetMachine.cpp
index dd09d43..924c7e8 100644
--- a/lib/Target/MSP430/MSP430TargetMachine.cpp
+++ b/lib/Target/MSP430/MSP430TargetMachine.cpp
@@ -60,7 +60,7 @@
 bool MSP430TargetMachine::addAssemblyEmitter(PassManagerBase &PM,
                                              CodeGenOpt::Level OptLevel,
                                              bool Verbose,
-                                             raw_ostream &Out) {
+                                             formatted_raw_ostream &Out) {
   // Output assembly language.
   PM.add(createMSP430CodePrinterPass(Out, *this, Verbose));
   return false;
diff --git a/lib/Target/MSP430/MSP430TargetMachine.h b/lib/Target/MSP430/MSP430TargetMachine.h
index d9ffa2b..0a5c64e 100644
--- a/lib/Target/MSP430/MSP430TargetMachine.h
+++ b/lib/Target/MSP430/MSP430TargetMachine.h
@@ -59,7 +59,7 @@
   virtual bool addInstSelector(PassManagerBase &PM, CodeGenOpt::Level OptLevel);
   virtual bool addAssemblyEmitter(PassManagerBase &PM,
                                   CodeGenOpt::Level OptLevel, bool Verbose,
-                                  raw_ostream &Out);
+                                  formatted_raw_ostream &Out);
   static unsigned getModuleMatchQuality(const Module &M);
 }; // MSP430TargetMachine.