Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.
authorChris Lattner <sabre@nondot.org>
Sat, 22 Aug 2009 20:48:53 +0000 (20:48 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 22 Aug 2009 20:48:53 +0000 (20:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8

143 files changed:
include/llvm/CodeGen/AsmPrinter.h
include/llvm/CodeGen/DwarfWriter.h
include/llvm/CodeGen/GCMetadata.h
include/llvm/CodeGen/GCMetadataPrinter.h
include/llvm/MC/MCAsmInfo.h [new file with mode: 0644]
include/llvm/MC/MCAsmInfoCOFF.h [new file with mode: 0644]
include/llvm/MC/MCAsmInfoDarwin.h [new file with mode: 0644]
include/llvm/MC/MCSection.h
include/llvm/MC/MCSectionELF.h
include/llvm/MC/MCSectionMachO.h
include/llvm/MC/MCStreamer.h
include/llvm/Target/COFFTargetAsmInfo.h
include/llvm/Target/DarwinTargetAsmInfo.h
include/llvm/Target/TargetAsmInfo.h
include/llvm/Target/TargetInstrInfo.h
include/llvm/Target/TargetLoweringObjectFile.h
include/llvm/Target/TargetMachine.h
include/llvm/Target/TargetRegistry.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/DIE.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
lib/CodeGen/AsmPrinter/DwarfException.cpp
lib/CodeGen/AsmPrinter/DwarfException.h
lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
lib/CodeGen/AsmPrinter/DwarfPrinter.h
lib/CodeGen/AsmPrinter/DwarfWriter.cpp
lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
lib/CodeGen/ELFCodeEmitter.cpp
lib/CodeGen/ELFWriter.cpp
lib/CodeGen/ELFWriter.h
lib/CodeGen/GCMetadataPrinter.cpp
lib/CodeGen/LLVMTargetMachine.cpp
lib/CodeGen/MachO.h
lib/CodeGen/MachOCodeEmitter.cpp
lib/CodeGen/MachOCodeEmitter.h
lib/CodeGen/MachOWriter.cpp
lib/CodeGen/MachOWriter.h
lib/CodeGen/SelectionDAG/TargetLowering.cpp
lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp
lib/MC/MCAsmStreamer.cpp
lib/MC/MCSection.cpp
lib/MC/MCSectionELF.cpp
lib/MC/MCSectionMachO.cpp
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMInstrInfo.cpp
lib/Target/ARM/ARMMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/ARM/ARMMCAsmInfo.h [new file with mode: 0644]
lib/Target/ARM/ARMTargetAsmInfo.cpp [deleted file]
lib/Target/ARM/ARMTargetAsmInfo.h [deleted file]
lib/Target/ARM/ARMTargetMachine.cpp
lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
lib/Target/Alpha/AlphaBranchSelector.cpp
lib/Target/Alpha/AlphaMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/Alpha/AlphaMCAsmInfo.h [new file with mode: 0644]
lib/Target/Alpha/AlphaTargetAsmInfo.cpp [deleted file]
lib/Target/Alpha/AlphaTargetAsmInfo.h [deleted file]
lib/Target/Alpha/AlphaTargetMachine.cpp
lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
lib/Target/Blackfin/BlackfinMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/Blackfin/BlackfinMCAsmInfo.h [new file with mode: 0644]
lib/Target/Blackfin/BlackfinTargetAsmInfo.cpp [deleted file]
lib/Target/Blackfin/BlackfinTargetAsmInfo.h [deleted file]
lib/Target/Blackfin/BlackfinTargetMachine.cpp
lib/Target/CBackend/CBackend.cpp
lib/Target/COFFTargetAsmInfo.cpp
lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
lib/Target/CellSPU/SPUMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/CellSPU/SPUMCAsmInfo.h [new file with mode: 0644]
lib/Target/CellSPU/SPUTargetAsmInfo.cpp [deleted file]
lib/Target/CellSPU/SPUTargetAsmInfo.h [deleted file]
lib/Target/CellSPU/SPUTargetMachine.cpp
lib/Target/DarwinTargetAsmInfo.cpp
lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
lib/Target/MSP430/MSP430MCAsmInfo.cpp [new file with mode: 0644]
lib/Target/MSP430/MSP430MCAsmInfo.h [new file with mode: 0644]
lib/Target/MSP430/MSP430TargetAsmInfo.cpp [deleted file]
lib/Target/MSP430/MSP430TargetAsmInfo.h [deleted file]
lib/Target/MSP430/MSP430TargetMachine.cpp
lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
lib/Target/Mips/MipsMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/Mips/MipsMCAsmInfo.h [new file with mode: 0644]
lib/Target/Mips/MipsTargetAsmInfo.cpp [deleted file]
lib/Target/Mips/MipsTargetAsmInfo.h [deleted file]
lib/Target/Mips/MipsTargetMachine.cpp
lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp
lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.h
lib/Target/PIC16/MCSectionPIC16.h
lib/Target/PIC16/PIC16DebugInfo.h
lib/Target/PIC16/PIC16MCAsmInfo.cpp [new file with mode: 0644]
lib/Target/PIC16/PIC16MCAsmInfo.h [new file with mode: 0644]
lib/Target/PIC16/PIC16MemSelOpt.cpp
lib/Target/PIC16/PIC16TargetAsmInfo.cpp [deleted file]
lib/Target/PIC16/PIC16TargetAsmInfo.h [deleted file]
lib/Target/PIC16/PIC16TargetMachine.cpp
lib/Target/PIC16/PIC16TargetObjectFile.cpp
lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
lib/Target/PowerPC/PPCInstrInfo.cpp
lib/Target/PowerPC/PPCMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/PowerPC/PPCMCAsmInfo.h [new file with mode: 0644]
lib/Target/PowerPC/PPCTargetAsmInfo.cpp [deleted file]
lib/Target/PowerPC/PPCTargetAsmInfo.h [deleted file]
lib/Target/PowerPC/PPCTargetMachine.cpp
lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
lib/Target/Sparc/SparcMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/Sparc/SparcMCAsmInfo.h [new file with mode: 0644]
lib/Target/Sparc/SparcTargetAsmInfo.cpp [deleted file]
lib/Target/Sparc/SparcTargetAsmInfo.h [deleted file]
lib/Target/Sparc/SparcTargetMachine.cpp
lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
lib/Target/SystemZ/SystemZMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/SystemZ/SystemZMCAsmInfo.h [new file with mode: 0644]
lib/Target/SystemZ/SystemZTargetAsmInfo.cpp [deleted file]
lib/Target/SystemZ/SystemZTargetAsmInfo.h [deleted file]
lib/Target/SystemZ/SystemZTargetMachine.cpp
lib/Target/TargetAsmInfo.cpp
lib/Target/TargetInstrInfo.cpp
lib/Target/TargetMachine.cpp
lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h
lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp
lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h
lib/Target/X86/X86InstrInfo.cpp
lib/Target/X86/X86MCAsmInfo.cpp [new file with mode: 0644]
lib/Target/X86/X86MCAsmInfo.h [new file with mode: 0644]
lib/Target/X86/X86RegisterInfo.cpp
lib/Target/X86/X86TargetAsmInfo.cpp [deleted file]
lib/Target/X86/X86TargetAsmInfo.h [deleted file]
lib/Target/X86/X86TargetMachine.cpp
lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp
lib/Target/XCore/MCSectionXCore.cpp
lib/Target/XCore/MCSectionXCore.h
lib/Target/XCore/XCoreMCAsmInfo.cpp [new file with mode: 0644]
lib/Target/XCore/XCoreMCAsmInfo.h [new file with mode: 0644]
lib/Target/XCore/XCoreTargetAsmInfo.cpp [deleted file]
lib/Target/XCore/XCoreTargetAsmInfo.h [deleted file]
lib/Target/XCore/XCoreTargetMachine.cpp
tools/llvm-mc/llvm-mc.cpp
tools/lto/LTOCodeGenerator.cpp
tools/lto/LTOModule.cpp

index 11ae1e027a66ec6a7913080b210b8b8f3cac7efb..2778b419f66d0d77b7003f86797d22215dd70847 100644 (file)
@@ -48,7 +48,7 @@ namespace llvm {
   class MCStreamer;
   class DwarfWriter;
   class Mangler;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   class TargetLoweringObjectFile;
   class Type;
   class formatted_raw_ostream;
@@ -96,7 +96,7 @@ namespace llvm {
     
     /// Target Asm Printer information.
     ///
-    const TargetAsmInfo *TAI;
+    const MCAsmInfo *TAI;
 
     /// Target Register Information.
     ///
@@ -149,7 +149,7 @@ namespace llvm {
 
   protected:
     explicit AsmPrinter(formatted_raw_ostream &o, TargetMachine &TM,
-                        const TargetAsmInfo *T, bool V);
+                        const MCAsmInfo *T, bool V);
     
   public:
     virtual ~AsmPrinter();
index 5c7ce0521be029ed1bebb9ba4191c7f78bdf4704..9ae76686d3012e43aa49d0cba7c57164c90edc76 100644 (file)
@@ -34,7 +34,7 @@ class MachineInstr;
 class Value;
 class Module;
 class GlobalVariable;
-class TargetAsmInfo;
+class MCAsmInfo;
 class raw_ostream;
 class Instruction;
 class DICompileUnit;
@@ -68,7 +68,7 @@ public:
   /// BeginModule - Emit all Dwarf sections that should come prior to the
   /// content.
   void BeginModule(Module *M, MachineModuleInfo *MMI, raw_ostream &OS,
-                   AsmPrinter *A, const TargetAsmInfo *T);
+                   AsmPrinter *A, const MCAsmInfo *T);
   
   /// EndModule - Emit all Dwarf sections that should come after the content.
   ///
index e94aba388a4c2a55ca5c59fe0662065e698cf098..04fd8bed97242b9f663e47ad5b666b4ba6d6bd23 100644 (file)
@@ -42,7 +42,7 @@ namespace llvm {
   class AsmPrinter;
   class GCStrategy;
   class Constant;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   
   
   namespace GC {
index b693b1bbfc7c42f27a3efdc56497ede2050ef9cc..a3ffee9ded70c63e669306374a7ee91724643d00 100644 (file)
@@ -63,10 +63,10 @@ namespace llvm {
     
     /// beginAssembly/finishAssembly - Emit module metadata as assembly code.
     virtual void beginAssembly(raw_ostream &OS, AsmPrinter &AP,
-                               const TargetAsmInfo &TAI);
+                               const MCAsmInfo &TAI);
     
     virtual void finishAssembly(raw_ostream &OS, AsmPrinter &AP,
-                                const TargetAsmInfo &TAI);
+                                const MCAsmInfo &TAI);
     
     virtual ~GCMetadataPrinter();
   };
diff --git a/include/llvm/MC/MCAsmInfo.h b/include/llvm/MC/MCAsmInfo.h
new file mode 100644 (file)
index 0000000..fcce7a6
--- /dev/null
@@ -0,0 +1,3 @@
+
+#include "llvm/Target/TargetAsmInfo.h"
+
diff --git a/include/llvm/MC/MCAsmInfoCOFF.h b/include/llvm/MC/MCAsmInfoCOFF.h
new file mode 100644 (file)
index 0000000..73a0155
--- /dev/null
@@ -0,0 +1,2 @@
+#include "llvm/Target/COFFTargetAsmInfo.h"
+
diff --git a/include/llvm/MC/MCAsmInfoDarwin.h b/include/llvm/MC/MCAsmInfoDarwin.h
new file mode 100644 (file)
index 0000000..122adb2
--- /dev/null
@@ -0,0 +1 @@
+#include "llvm/Target/DarwinTargetAsmInfo.h"
index 6a1f9d705dfe048530c14b215bb95ac19832490a..56784d3bba33c6a0059be5af37bbdf76cff11f0d 100644 (file)
@@ -20,7 +20,7 @@
 
 namespace llvm {
   class MCContext;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   class raw_ostream;
   
   /// MCSection - Instances of this class represent a uniqued identifier for a
@@ -37,7 +37,7 @@ namespace llvm {
 
     SectionKind getKind() const { return Kind; }
     
-    virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
+    virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
                                       raw_ostream &OS) const = 0;
   };
 
@@ -62,7 +62,7 @@ namespace llvm {
     const std::string &getName() const { return Name; }
     bool isDirective() const { return IsDirective; }
     
-    virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
+    virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
                                       raw_ostream &OS) const;
   };
   
index 8e70e369619d14ba357176de5f9b80b6838bd8c2..05cda52232205ece9f6cdd3742f907ebb23573e5 100644 (file)
@@ -48,7 +48,7 @@ public:
   /// ShouldOmitSectionDirective - Decides whether a '.section' directive
   /// should be printed before the section name
   bool ShouldOmitSectionDirective(const char *Name, 
-                                  const TargetAsmInfo &TAI) const;
+                                  const MCAsmInfo &TAI) const;
 
   /// ShouldPrintSectionType - Only prints the section type if supported
   bool ShouldPrintSectionType(unsigned Ty) const;
@@ -171,7 +171,7 @@ public:
   unsigned getType() const { return Type; }
   unsigned getFlags() const { return Flags; }
   
-  virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
+  virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
                                     raw_ostream &OS) const;
   
   
@@ -179,7 +179,7 @@ public:
   /// MCSectionELF subclasses with target specific section flags should
   /// implement this method if they end up adding letters to the attributes
   /// list.
-  virtual void PrintTargetSpecificSectionFlags(const TargetAsmInfo &TAI,
+  virtual void PrintTargetSpecificSectionFlags(const MCAsmInfo &TAI,
                                                raw_ostream &OS) const {
   }
                                                
index 04b2afa38c8e3e8494d06673cabab404a3b82ecc..9279e2933fde1b1c0bc85658d40d89105b072029 100644 (file)
@@ -166,7 +166,7 @@ public:
                                            unsigned  &TAA,       // Out.
                                            unsigned  &StubSize); // Out.
   
-  virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
+  virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
                                     raw_ostream &OS) const;
 };
 
index 4d55990f8aa93a1e1ce3b09b8310946ed88e7b70..001887323dec017f48d00a724e71bbec4ed10545 100644 (file)
@@ -25,7 +25,7 @@ namespace llvm {
   class MCSymbol;
   class StringRef;
   class raw_ostream;
-  class TargetAsmInfo;
+  class MCAsmInfo;
 
   /// MCStreamer - Streaming machine code generation interface.  This interface
   /// is intended to provide a programatic interface that is very similar to the
@@ -241,7 +241,7 @@ namespace llvm {
   ///
   /// \arg AP - If given, an AsmPrinter to use for printing instructions.
   MCStreamer *createAsmStreamer(MCContext &Ctx, raw_ostream &OS,
-                                const TargetAsmInfo &TAI, AsmPrinter *AP = 0);
+                                const MCAsmInfo &TAI, AsmPrinter *AP = 0);
 
   // FIXME: These two may end up getting rolled into a single
   // createObjectStreamer interface, which implements the assembler backend, and
index fd9fb45f0bde373cedbe76b847811d383dd8a492..b5e3d709239e74daa341de1e7e07b920a5ea52fc 100644 (file)
@@ -1,4 +1,4 @@
-//===-- COFFTargetAsmInfo.h - COFF asm properties ---------------*- C++ -*-===//
+//===-- MCAsmInfoCOFF.h - COFF asm properties -------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 #ifndef LLVM_COFF_TARGET_ASM_INFO_H
 #define LLVM_COFF_TARGET_ASM_INFO_H
 
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 
 namespace llvm {
-  class COFFTargetAsmInfo : public TargetAsmInfo {
+  class COFFMCAsmInfo : public MCAsmInfo {
   protected:
-    explicit COFFTargetAsmInfo();
+    explicit COFFMCAsmInfo();
       
   };
 }
index 0834390600f6d96c061fefeffe24f99d18551993..a91a0ddd5b965a93594a490a3c5570aa83fc0865 100644 (file)
@@ -1,4 +1,4 @@
-//===---- DarwinTargetAsmInfo.h - Darwin asm properties ---------*- C++ -*-===//
+//===---- DarwinMCAsmInfo.h - Darwin asm properties -------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -15,7 +15,7 @@
 #ifndef LLVM_DARWIN_TARGET_ASM_INFO_H
 #define LLVM_DARWIN_TARGET_ASM_INFO_H
 
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 
 namespace llvm {
   class GlobalValue;
@@ -23,8 +23,8 @@ namespace llvm {
   class Type;
   class Mangler;
 
-  struct DarwinTargetAsmInfo : public TargetAsmInfo {
-    explicit DarwinTargetAsmInfo();
+  struct DarwinMCAsmInfo : public MCAsmInfo {
+    explicit DarwinMCAsmInfo();
   };
 }
 
index cb0e346a6117ea341a503fc4898365d4219de560..4f8d92b3fcd40af81d653457c502d09d9ccb382e 100644 (file)
@@ -1,4 +1,4 @@
-//===-- llvm/Target/TargetAsmInfo.h - Asm info ------------------*- C++ -*-===//
+//===-- llvm/MC/MCAsmInfo.h - Asm info --------------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 namespace llvm {
   template <typename T> class SmallVectorImpl;
   
-  /// TargetAsmInfo - This class is intended to be used as a base class for asm
+  /// MCAsmInfo - This class is intended to be used as a base class for asm
   /// properties and features specific to the target.
   namespace ExceptionHandling { enum ExceptionsType { None, Dwarf, SjLj }; }
 
-  class TargetAsmInfo {
+  class MCAsmInfo {
   protected:
     //===------------------------------------------------------------------===//
     // Properties to be set by the target writer, used to configure asm printer.
@@ -310,8 +310,8 @@ namespace llvm {
     const char *const *AsmTransCBE; // Defaults to empty
 
   public:
-    explicit TargetAsmInfo();
-    virtual ~TargetAsmInfo();
+    explicit MCAsmInfo();
+    virtual ~MCAsmInfo();
 
     /// getSLEB128Size - Compute the number of bytes required for a signed
     /// leb128 value.
index f8a01ab17efefe86669c5325226b54642b002e93..402f7a3c55982f8a6543fede5910a784a7f240ff 100644 (file)
@@ -19,7 +19,7 @@
 
 namespace llvm {
 
-class TargetAsmInfo;
+class MCAsmInfo;
 class TargetRegisterClass;
 class TargetRegisterInfo;
 class LiveVariables;
@@ -464,7 +464,7 @@ public:
   /// Measure the specified inline asm to determine an approximation of its
   /// length.
   virtual unsigned getInlineAsmLength(const char *Str,
-                                      const TargetAsmInfo &TAI) const;
+                                      const MCAsmInfo &TAI) const;
 };
 
 /// TargetInstrInfoImpl - This is the default implementation of
index 2264d36df9ef0013e0405cf1bd62791c76c956bd..7cb7b9891953d4cf1cfac76fe572d89d8e0a88ae 100644 (file)
@@ -25,7 +25,7 @@ namespace llvm {
   class GlobalValue;
   class StringRef;
   class TargetMachine;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   
 class TargetLoweringObjectFile {
   MCContext *Ctx;
index e5ea27fb087eab492a17c4a83ec114b34292724d..9614780beb569b71501b354e66a3599b2c6686aa 100644 (file)
@@ -21,7 +21,7 @@
 namespace llvm {
 
 class Target;
-class TargetAsmInfo;
+class MCAsmInfo;
 class TargetData;
 class TargetSubtarget;
 class TargetInstrInfo;
@@ -102,7 +102,7 @@ protected: // Can only create subclasses.
   
   /// AsmInfo - Contains target specific asm information.
   ///
-  const TargetAsmInfo *AsmInfo;
+  const MCAsmInfo *AsmInfo;
   
 public:
   virtual ~TargetMachine();
@@ -120,9 +120,9 @@ public:
   virtual       TargetLowering    *getTargetLowering() const { return 0; }
   virtual const TargetData            *getTargetData() const { return 0; }
   
-  /// getTargetAsmInfo - Return target specific asm information.
+  /// getMCAsmInfo - Return target specific asm information.
   ///
-  const TargetAsmInfo *getTargetAsmInfo() const { return AsmInfo; }
+  const MCAsmInfo *getMCAsmInfo() const { return AsmInfo; }
   
   /// getSubtarget - This method returns a pointer to the specified type of
   /// TargetSubtarget.  In debug builds, it verifies that the object being
index ebdb36c26ecd0df239d56ac76fa88734bb10d294..8c9e357d652af9ac34c81636f304a7dfc067d5a5 100644 (file)
@@ -27,7 +27,7 @@ namespace llvm {
   class AsmPrinter;
   class MCAsmParser;
   class Module;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   class TargetAsmParser;
   class TargetMachine;
   class formatted_raw_ostream;
@@ -46,14 +46,14 @@ namespace llvm {
 
     typedef unsigned (*TripleMatchQualityFnTy)(const std::string &TT);
 
-    typedef const TargetAsmInfo *(*AsmInfoCtorFnTy)(const Target &T,
-                                                    const StringRef &TT);
+    typedef const MCAsmInfo *(*AsmInfoCtorFnTy)(const Target &T,
+                                                const StringRef &TT);
     typedef TargetMachine *(*TargetMachineCtorTy)(const Target &T,
                                                   const std::string &TT,
                                                   const std::string &Features);
     typedef AsmPrinter *(*AsmPrinterCtorTy)(formatted_raw_ostream &OS,
                                             TargetMachine &TM,
-                                            const TargetAsmInfo *TAI,
+                                            const MCAsmInfo *TAI,
                                             bool VerboseAsm);
     typedef TargetAsmParser *(*AsmParserCtorTy)(const Target &T,
                                                 MCAsmParser &P);
@@ -111,14 +111,14 @@ namespace llvm {
     bool hasAsmParser() const { return AsmParserCtorFn != 0; }
 
     
-    /// createAsmInfo - Create a TargetAsmInfo implementation for the specified
+    /// createAsmInfo - Create a MCAsmInfo implementation for the specified
     /// target triple.
     ///
     /// \arg Triple - This argument is used to determine the target machine
     /// feature set; it should always be provided. Generally this should be
     /// either the target triple from the module, or the target triple of the
     /// host if that does not exist.
-    const TargetAsmInfo *createAsmInfo(const StringRef &Triple) const {
+    const MCAsmInfo *createAsmInfo(const StringRef &Triple) const {
       if (!AsmInfoCtorFn)
         return 0;
       return AsmInfoCtorFn(*this, Triple);
@@ -140,7 +140,7 @@ namespace llvm {
 
     /// createAsmPrinter - Create a target specific assembly printer pass.
     AsmPrinter *createAsmPrinter(formatted_raw_ostream &OS, TargetMachine &TM,
-                                 const TargetAsmInfo *TAI, bool Verbose) const {
+                                 const MCAsmInfo *TAI, bool Verbose) const {
       if (!AsmPrinterCtorFn)
         return 0;
       return AsmPrinterCtorFn(OS, TM, TAI, Verbose);
@@ -243,7 +243,7 @@ namespace llvm {
                                Target::TripleMatchQualityFnTy TQualityFn,
                                bool HasJIT = false);
 
-    /// RegisterAsmInfo - Register a TargetAsmInfo implementation for the
+    /// RegisterAsmInfo - Register a MCAsmInfo implementation for the
     /// given target.
     /// 
     /// Clients are responsible for ensuring that registration doesn't occur
@@ -251,7 +251,7 @@ namespace llvm {
     /// this is done by initializing all targets at program startup.
     /// 
     /// @param T - The target being registered.
-    /// @param Fn - A function to construct a TargetAsmInfo for the target.
+    /// @param Fn - A function to construct a MCAsmInfo for the target.
     static void RegisterAsmInfo(Target &T, Target::AsmInfoCtorFnTy Fn) {
       // Ignore duplicate registration.
       if (!T.AsmInfoCtorFn)
@@ -340,16 +340,16 @@ namespace llvm {
   ///
   /// extern "C" void LLVMInitializeFooTarget() {
   ///   extern Target TheFooTarget;
-  ///   RegisterAsmInfo<FooTargetAsmInfo> X(TheFooTarget);
+  ///   RegisterAsmInfo<FooMCAsmInfo> X(TheFooTarget);
   /// }
-  template<class TargetAsmInfoImpl>
+  template<class MCAsmInfoImpl>
   struct RegisterAsmInfo {
     RegisterAsmInfo(Target &T) {
       TargetRegistry::RegisterAsmInfo(T, &Allocator);
     }
   private:
-    static const TargetAsmInfo *Allocator(const Target &T, const StringRef &TT){
-      return new TargetAsmInfoImpl(T, TT);
+    static const MCAsmInfo *Allocator(const Target &T, const StringRef &TT) {
+      return new MCAsmInfoImpl(T, TT);
     }
     
   };
@@ -406,7 +406,7 @@ namespace llvm {
 
   private:
     static AsmPrinter *Allocator(formatted_raw_ostream &OS, TargetMachine &TM,
-                                 const TargetAsmInfo *TAI, bool Verbose) {
+                                 const MCAsmInfo *TAI, bool Verbose) {
       return new AsmPrinterImpl(OS, TM, TAI, Verbose);
     }
   };
index 8c2800ae2ae266a9adc004a5f2a199e3e4c35e71..e71af5c7544cb9ee50843a9451b90ec78cb06b22 100644 (file)
@@ -32,7 +32,7 @@
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FormattedStream.h"
 #include "llvm/Support/Mangler.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetLowering.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
@@ -50,7 +50,7 @@ AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
 
 char AsmPrinter::ID = 0;
 AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
-                       const TargetAsmInfo *T, bool VDef)
+                       const MCAsmInfo *T, bool VDef)
   : MachineFunctionPass(&ID), FunctionNumber(0), O(o),
     TM(tm), TAI(T), TRI(tm.getRegisterInfo()),
 
@@ -1792,7 +1792,7 @@ Indent(formatted_raw_ostream &out, int level, int scale = 2) {
 ///
 static void PrintChildLoopComment(formatted_raw_ostream &O,
                                   const MachineLoop *loop,
-                                  const TargetAsmInfo *TAI,
+                                  const MCAsmInfo *TAI,
                                   int FunctionNumber) {
   // Add child loop information
   for(MachineLoop::iterator cl = loop->begin(),
index a35ee285b307c1b0830a3f84aea819bb50ec3e1d..3dbeef5ea6bad60917ec7adfb3d7e98107a798eb 100644 (file)
@@ -14,7 +14,7 @@
 #include "DIE.h"
 #include "DwarfPrinter.h"
 #include "llvm/CodeGen/AsmPrinter.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Support/ErrorHandling.h"
 #include <ostream>
@@ -224,8 +224,8 @@ unsigned DIEInteger::SizeOf(const TargetData *TD, unsigned Form) const {
   case dwarf::DW_FORM_data4: return sizeof(int32_t);
   case dwarf::DW_FORM_ref8:  // Fall thru
   case dwarf::DW_FORM_data8: return sizeof(int64_t);
-  case dwarf::DW_FORM_udata: return TargetAsmInfo::getULEB128Size(Integer);
-  case dwarf::DW_FORM_sdata: return TargetAsmInfo::getSLEB128Size(Integer);
+  case dwarf::DW_FORM_udata: return MCAsmInfo::getULEB128Size(Integer);
+  case dwarf::DW_FORM_sdata: return MCAsmInfo::getSLEB128Size(Integer);
   default: llvm_unreachable("DIE Value form not supported yet"); break;
   }
   return 0;
@@ -499,7 +499,7 @@ unsigned DIEBlock::SizeOf(const TargetData *TD, unsigned Form) const {
   case dwarf::DW_FORM_block1: return Size + sizeof(int8_t);
   case dwarf::DW_FORM_block2: return Size + sizeof(int16_t);
   case dwarf::DW_FORM_block4: return Size + sizeof(int32_t);
-  case dwarf::DW_FORM_block: return Size + TargetAsmInfo::getULEB128Size(Size);
+  case dwarf::DW_FORM_block: return Size + MCAsmInfo::getULEB128Size(Size);
   default: llvm_unreachable("Improper form for block"); break;
   }
   return 0;
index 66b340821cdfdd4857a7b6d643aee31a131d1087..ca7ea6bc95906b39b2d5647eca99722212052fbf 100644 (file)
@@ -17,7 +17,7 @@
 #include "llvm/CodeGen/MachineModuleInfo.h"
 #include "llvm/MC/MCSection.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetFrameInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
@@ -224,7 +224,7 @@ DbgScope::~DbgScope() {
 
 } // end llvm namespace
 
-DwarfDebug::DwarfDebug(raw_ostream &OS, AsmPrinter *A, const TargetAsmInfo *T)
+DwarfDebug::DwarfDebug(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T)
   : Dwarf(OS, A, T, "dbg"), ModuleCU(0),
     AbbreviationsSet(InitAbbreviationsSetSize), Abbreviations(),
     ValuesSet(InitValuesSetSize), Values(), StringPool(), 
@@ -1794,7 +1794,7 @@ unsigned DwarfDebug::SizeAndOffsetDie(DIE *Die, unsigned Offset, bool Last) {
   Die->setOffset(Offset);
 
   // Start the size with the size of abbreviation code.
-  Offset += TargetAsmInfo::getULEB128Size(AbbrevNumber);
+  Offset += MCAsmInfo::getULEB128Size(AbbrevNumber);
 
   const SmallVector<DIEValue*, 32> &Values = Die->getValues();
   const SmallVector<DIEAbbrevData, 8> &AbbrevData = Abbrev->getData();
index 0844f6091190601641efb38c564406a1a4447e00..bd7cdf70b59f2c84f88c54f9e16560058a9be145 100644 (file)
@@ -35,7 +35,7 @@ class DbgScope;
 class DbgConcreteScope;
 class MachineFrameInfo;
 class MachineModuleInfo;
-class TargetAsmInfo;
+class MCAsmInfo;
 class Timer;
 
 //===----------------------------------------------------------------------===//
@@ -458,7 +458,7 @@ public:
   //===--------------------------------------------------------------------===//
   // Main entry points.
   //
-  DwarfDebug(raw_ostream &OS, AsmPrinter *A, const TargetAsmInfo *T);
+  DwarfDebug(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T);
   virtual ~DwarfDebug();
 
   /// ShouldEmitDwarfDebug - Returns true if Dwarf debugging declarations should
index 81536894e09e63dbfeeffe8beb1fd2d02ba4eca7..cc575f5affddbe41be75f9838b660a343192a6f4 100644 (file)
@@ -18,7 +18,7 @@
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/MachineLocation.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetFrameInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
@@ -36,7 +36,7 @@ static TimerGroup &getDwarfTimerGroup() {
 }
 
 DwarfException::DwarfException(raw_ostream &OS, AsmPrinter *A,
-                               const TargetAsmInfo *T)
+                               const MCAsmInfo *T)
   : Dwarf(OS, A, T, "eh"), shouldEmitTable(false), shouldEmitMoves(false),
     shouldEmitTableModule(false), shouldEmitMovesModule(false),
     ExceptionTimer(0) {
@@ -304,7 +304,7 @@ ComputeActionsTable(const SmallVectorImpl<const LandingPadInfo*> &LandingPads,
   for (std::vector<unsigned>::const_iterator
          I = FilterIds.begin(), E = FilterIds.end(); I != E; ++I) {
     FilterOffsets.push_back(Offset);
-    Offset -= TargetAsmInfo::getULEB128Size(*I);
+    Offset -= MCAsmInfo::getULEB128Size(*I);
   }
 
   FirstActions.reserve(LandingPads.size());
@@ -328,12 +328,12 @@ ComputeActionsTable(const SmallVectorImpl<const LandingPadInfo*> &LandingPads,
         const unsigned SizePrevIds = PrevLPI->TypeIds.size();
         assert(Actions.size());
         PrevAction = &Actions.back();
-        SizeAction = TargetAsmInfo::getSLEB128Size(PrevAction->NextAction) +
-          TargetAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
+        SizeAction = MCAsmInfo::getSLEB128Size(PrevAction->NextAction) +
+          MCAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
 
         for (unsigned j = NumShared; j != SizePrevIds; ++j) {
           SizeAction -=
-            TargetAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
+            MCAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
           SizeAction += -PrevAction->NextAction;
           PrevAction = PrevAction->Previous;
         }
@@ -344,10 +344,10 @@ ComputeActionsTable(const SmallVectorImpl<const LandingPadInfo*> &LandingPads,
         int TypeID = TypeIds[J];
         assert(-1 - TypeID < (int)FilterOffsets.size() && "Unknown filter id!");
         int ValueForTypeID = TypeID < 0 ? FilterOffsets[-1 - TypeID] : TypeID;
-        unsigned SizeTypeID = TargetAsmInfo::getSLEB128Size(ValueForTypeID);
+        unsigned SizeTypeID = MCAsmInfo::getSLEB128Size(ValueForTypeID);
 
         int NextAction = SizeAction ? -(SizeAction + SizeTypeID) : 0;
-        SizeAction = SizeTypeID + TargetAsmInfo::getSLEB128Size(NextAction);
+        SizeAction = SizeTypeID + MCAsmInfo::getSLEB128Size(NextAction);
         SizeSiteActions += SizeAction;
 
         ActionEntry Action = { ValueForTypeID, NextAction, PrevAction };
@@ -556,22 +556,22 @@ void DwarfException::EmitExceptionTable() {
     SizeSites = CallSites.size() *
       (SiteStartSize + SiteLengthSize + LandingPadSize);
   for (unsigned i = 0, e = CallSites.size(); i < e; ++i) {
-    SizeSites += TargetAsmInfo::getULEB128Size(CallSites[i].Action);
+    SizeSites += MCAsmInfo::getULEB128Size(CallSites[i].Action);
     if (TAI->getExceptionHandlingType() == ExceptionHandling::SjLj)
-      SizeSites += TargetAsmInfo::getULEB128Size(i);
+      SizeSites += MCAsmInfo::getULEB128Size(i);
   }
   // Type infos.
   const unsigned TypeInfoSize = TD->getPointerSize(); // DW_EH_PE_absptr
   unsigned SizeTypes = TypeInfos.size() * TypeInfoSize;
 
   unsigned TypeOffset = sizeof(int8_t) + // Call site format
-    TargetAsmInfo::getULEB128Size(SizeSites) + // Call-site table length
+    MCAsmInfo::getULEB128Size(SizeSites) + // Call-site table length
     SizeSites + SizeActions + SizeTypes;
 
   unsigned TotalSize = sizeof(int8_t) + // LPStart format
                        sizeof(int8_t) + // TType format
        (HaveTTData ?
-          TargetAsmInfo::getULEB128Size(TypeOffset) : 0) + // TType base offset
+          MCAsmInfo::getULEB128Size(TypeOffset) : 0) + // TType base offset
                        TypeOffset;
 
   unsigned SizeAlign = (4 - TotalSize) & 3;
index e165df4693d0e431ef47fd6fa7d18059ca48b177..5f4fda7502868ac0643072f0ac7594a759da4189 100644 (file)
@@ -24,7 +24,7 @@ namespace llvm {
 
 struct LandingPadInfo;
 class MachineModuleInfo;
-class TargetAsmInfo;
+class MCAsmInfo;
 class Timer;
 class raw_ostream;
 
@@ -164,7 +164,7 @@ public:
   //===--------------------------------------------------------------------===//
   // Main entry points.
   //
-  DwarfException(raw_ostream &OS, AsmPrinter *A, const TargetAsmInfo *T);
+  DwarfException(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T);
   virtual ~DwarfException();
 
   /// BeginModule - Emit all exception information that should come prior to the
index cc05b53626a9c643ab46c9fa02b35dbe92332da9..1c72f5ae6812ec9ce2ff156eb59f6ae58b6e5d0c 100644 (file)
 #include "llvm/CodeGen/MachineModuleInfo.h"
 #include "llvm/Support/Dwarf.h"
 #include "llvm/Support/ErrorHandling.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetFrameInfo.h"
 #include "llvm/Target/TargetRegisterInfo.h"
 
 using namespace llvm;
 
-Dwarf::Dwarf(raw_ostream &OS, AsmPrinter *A, const TargetAsmInfo *T,
+Dwarf::Dwarf(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T,
              const char *flavor)
 : O(OS), Asm(A), TAI(T), TD(Asm->TM.getTargetData()),
   RI(Asm->TM.getRegisterInfo()), M(NULL), MF(NULL), MMI(NULL),
index 6e75992cb07c2f67820d7def02de8ee0f2636417..490544b340a105164e47d0e966158b77e406f5b4 100644 (file)
@@ -25,7 +25,7 @@ namespace llvm {
   class MachineFunction;
   class MachineModuleInfo;
   class Module;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   class TargetData;
   class TargetRegisterInfo;
 
@@ -45,7 +45,7 @@ namespace llvm {
 
     /// TAI - Target asm information.
     /// 
-    const TargetAsmInfo *TAI;
+    const MCAsmInfo *TAI;
 
     /// TD - Target data.
     /// 
@@ -80,7 +80,7 @@ namespace llvm {
     /// 
     unsigned SetCounter;
 
-    Dwarf(raw_ostream &OS, AsmPrinter *A, const TargetAsmInfo *T,
+    Dwarf(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T,
           const char *flavor);
   public:
     //===------------------------------------------------------------------===//
@@ -88,7 +88,7 @@ namespace llvm {
     //
     const AsmPrinter *getAsm() const { return Asm; }
     MachineModuleInfo *getMMI() const { return MMI; }
-    const TargetAsmInfo *getTargetAsmInfo() const { return TAI; }
+    const MCAsmInfo *getMCAsmInfo() const { return TAI; }
     const TargetData *getTargetData() const { return TD; }
 
     void PrintRelDirective(bool Force32Bit = false,
index fac1081eece612188e518d95d0203041f2b13440..440b91c89eeea450bd12e7d443f9b1ed99101597 100644 (file)
@@ -39,7 +39,7 @@ DwarfWriter::~DwarfWriter() {
 void DwarfWriter::BeginModule(Module *M,
                               MachineModuleInfo *MMI,
                               raw_ostream &OS, AsmPrinter *A,
-                              const TargetAsmInfo *T) {
+                              const MCAsmInfo *T) {
   DE = new DwarfException(OS, A, T);
   DD = new DwarfDebug(OS, A, T);
   DE->BeginModule(M, MMI);
index af3bbc96e5ae635145bfa5ece217d3980ccca8b0..fac3db2a46f9fa61263c040a9084fa649771f3e3 100644 (file)
@@ -16,7 +16,7 @@
 #include "llvm/CodeGen/GCMetadataPrinter.h"
 #include "llvm/Module.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetMachine.h"
@@ -30,10 +30,10 @@ namespace {
   class VISIBILITY_HIDDEN OcamlGCMetadataPrinter : public GCMetadataPrinter {
   public:
     void beginAssembly(raw_ostream &OS, AsmPrinter &AP,
-                       const TargetAsmInfo &TAI);
+                       const MCAsmInfo &TAI);
 
     void finishAssembly(raw_ostream &OS, AsmPrinter &AP,
-                        const TargetAsmInfo &TAI);
+                        const MCAsmInfo &TAI);
   };
 
 }
@@ -44,7 +44,7 @@ Y("ocaml", "ocaml 3.10-compatible collector");
 void llvm::linkOcamlGCPrinter() { }
 
 static void EmitCamlGlobal(const Module &M, raw_ostream &OS, AsmPrinter &AP,
-                           const TargetAsmInfo &TAI, const char *Id) {
+                           const MCAsmInfo &TAI, const char *Id) {
   const std::string &MId = M.getModuleIdentifier();
 
   std::string Mangled;
@@ -64,7 +64,7 @@ static void EmitCamlGlobal(const Module &M, raw_ostream &OS, AsmPrinter &AP,
 }
 
 void OcamlGCMetadataPrinter::beginAssembly(raw_ostream &OS, AsmPrinter &AP,
-                                           const TargetAsmInfo &TAI) {
+                                           const MCAsmInfo &TAI) {
   AP.OutStreamer.SwitchSection(AP.getObjFileLowering().getTextSection());
   EmitCamlGlobal(getModule(), OS, AP, TAI, "code_begin");
 
@@ -89,7 +89,7 @@ void OcamlGCMetadataPrinter::beginAssembly(raw_ostream &OS, AsmPrinter &AP,
 /// either condition is detected in a function which uses the GC.
 ///
 void OcamlGCMetadataPrinter::finishAssembly(raw_ostream &OS, AsmPrinter &AP,
-                                            const TargetAsmInfo &TAI) {
+                                            const MCAsmInfo &TAI) {
   const char *AddressDirective;
   int AddressAlignLog;
   if (AP.TM.getTargetData()->getPointerSize() == sizeof(int32_t)) {
index b769e70ed2d3353b3bfb722d8635b4445f87c3fc..a6429f70001ad92fc963e8563211d9a157ac7d80 100644 (file)
@@ -23,7 +23,7 @@
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetELFWriterInfo.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
index 55c35a46bf6cbc7417db97337bfb6e5ab420354e..f2b45cd7c6c56a503ddc93e8cee355da2c51bb2a 100644 (file)
@@ -44,7 +44,7 @@
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/MC/MCContext.h"
 #include "llvm/MC/MCSectionELF.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetELFWriterInfo.h"
 #include "llvm/Target/TargetLowering.h"
@@ -80,7 +80,7 @@ ELFWriter::ELFWriter(raw_ostream &o, TargetMachine &tm)
     isLittleEndian(TM.getTargetData()->isLittleEndian()),
     ElfHdr(isLittleEndian, is64Bit) {
 
-  TAI = TM.getTargetAsmInfo();
+  TAI = TM.getMCAsmInfo();
   TEW = TM.getELFWriterInfo();
 
   // Create the object code emitter object for this target.
index 2f8f625d96723d3cda0a3c6f80462a9747d258a0..1e438929c0c7cef75b3266b7a330812dae7793b0 100644 (file)
@@ -32,7 +32,7 @@ namespace llvm {
   class MachineCodeEmitter;
   class MachineConstantPoolEntry;
   class ObjectCodeEmitter;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   class TargetELFWriterInfo;
   class TargetLoweringObjectFile;
   class raw_ostream;
@@ -88,7 +88,7 @@ namespace llvm {
 
     /// TAI - Target Asm Info, provide information about section names for
     /// globals and other target specific stuff.
-    const TargetAsmInfo *TAI;
+    const MCAsmInfo *TAI;
 
     //===------------------------------------------------------------------===//
     // Properties inferred automatically from the target machine.
index 5a5ef84fa4ebdbc1d639ee91d5c0d69bc502a455..d1e43d8e924c76ee7716289146efbecf4c888143 100644 (file)
@@ -20,11 +20,11 @@ GCMetadataPrinter::GCMetadataPrinter() { }
 GCMetadataPrinter::~GCMetadataPrinter() { }
 
 void GCMetadataPrinter::beginAssembly(raw_ostream &OS, AsmPrinter &AP,
-                                      const TargetAsmInfo &TAI) {
+                                      const MCAsmInfo &TAI) {
   // Default is no action.
 }
 
 void GCMetadataPrinter::finishAssembly(raw_ostream &OS, AsmPrinter &AP,
-                                       const TargetAsmInfo &TAI) {
+                                       const MCAsmInfo &TAI) {
   // Default is no action.
 }
index 911e9a13ef3c78ba6b3a842f462524093e10ceac..adce1f30b3696fc67981bf6fa1eeeeeeea26742d 100644 (file)
@@ -20,7 +20,7 @@
 #include "llvm/CodeGen/GCStrategy.h"
 #include "llvm/CodeGen/MachineFunctionAnalysis.h"
 #include "llvm/Target/TargetOptions.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetRegistry.h"
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Support/CommandLine.h"
@@ -108,7 +108,7 @@ bool LLVMTargetMachine::addAssemblyEmitter(PassManagerBase &PM,
                                            bool Verbose,
                                            formatted_raw_ostream &Out) {
   FunctionPass *Printer =
-    getTarget().createAsmPrinter(Out, *this, getTargetAsmInfo(), Verbose);
+    getTarget().createAsmPrinter(Out, *this, getMCAsmInfo(), Verbose);
   if (!Printer)
     return true;
 
@@ -239,7 +239,7 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM,
 
   // Turn exception handling constructs into something the code generators can
   // handle.
-  switch (getTargetAsmInfo()->getExceptionHandlingType())
+  switch (getMCAsmInfo()->getExceptionHandlingType())
   {
   case ExceptionHandling::SjLj:
     // SjLj piggy-backs on dwarf for this bit. The cleanups done apply to both
index 247b4a6c0c49060201457af40cd184a26fa67470..cf8bbbf8fa68f7aed80dc427682b18f605338bf4 100644 (file)
@@ -21,7 +21,7 @@
 namespace llvm {
 
 class GlobalValue;
-class TargetAsmInfo;
+class MCAsmInfo;
 
 /// MachOSym - This struct contains information about each symbol that is
 /// added to logical symbol table for the module.  This is eventually
@@ -68,7 +68,7 @@ struct MachOSym {
   };
   
   MachOSym(const GlobalValue *gv, std::string name, uint8_t sect,
-           const TargetAsmInfo *TAI);
+           const MCAsmInfo *TAI);
 
   struct SymCmp {
     // FIXME: this does not appear to be sorting 'f' after 'F'
index f8852dc451535e9c0f425ab973d28f98b2592efa..f87d1eb8a23a4fb4e24e16e4e3d6a64420ae0518 100644 (file)
@@ -17,7 +17,7 @@
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/MachineJumpTableInfo.h"
 #include "llvm/CodeGen/MachineRelocation.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Support/ErrorHandling.h"
@@ -35,7 +35,7 @@ MachOCodeEmitter::MachOCodeEmitter(MachOWriter &mow, MachOSection &mos) :
       ObjectCodeEmitter(&mos), MOW(mow), TM(MOW.TM) {
   is64Bit = TM.getTargetData()->getPointerSizeInBits() == 64;
   isLittleEndian = TM.getTargetData()->isLittleEndian();
-  TAI = TM.getTargetAsmInfo();
+  TAI = TM.getMCAsmInfo();
 }
 
 /// startFunction - This callback is invoked when a new machine function is
index 96ba68f1dbf2747904f6b436f7416683d2f447c6..0e1a0ec19b76e216f7b04ffe0b3e8b8154bab36b 100644 (file)
@@ -30,7 +30,7 @@ class MachOCodeEmitter : public ObjectCodeEmitter {
   /// machine directly, indicating what header values and flags to set.
   bool is64Bit, isLittleEndian;
 
-  const TargetAsmInfo *TAI;
+  const MCAsmInfo *TAI;
 
   /// Relocations - These are the relocations that the function needs, as
   /// emitted.
index 0ce9044e858abb715ea4833b7b27a05d54ac61bb..6b7441e16568941f5e8f341d535290b970a74933 100644 (file)
@@ -29,7 +29,7 @@
 #include "llvm/DerivedTypes.h"
 #include "llvm/Module.h"
 #include "llvm/PassManager.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetMachOWriterInfo.h"
@@ -61,7 +61,7 @@ MachOWriter::MachOWriter(raw_ostream &o, TargetMachine &tm)
   is64Bit = TM.getTargetData()->getPointerSizeInBits() == 64;
   isLittleEndian = TM.getTargetData()->isLittleEndian();
 
-  TAI = TM.getTargetAsmInfo();
+  TAI = TM.getMCAsmInfo();
 
   // Create the machine code emitter object for this target.
   MachOCE = new MachOCodeEmitter(*this, *getTextSection(true));
@@ -743,7 +743,7 @@ void MachOWriter::InitMem(const Constant *C, uintptr_t Offset,
 //===----------------------------------------------------------------------===//
 
 MachOSym::MachOSym(const GlobalValue *gv, std::string name, uint8_t sect,
-                   const TargetAsmInfo *TAI) :
+                   const MCAsmInfo *TAI) :
   GV(gv), n_strx(0), n_type(sect == NO_SECT ? N_UNDF : N_SECT), n_sect(sect),
   n_desc(0), n_value(0) {
 
index 9d8e9d450baab068ca66bef3f5c7cf31a4b9000e..0d6f1328f43a69a2985104ded0a8c2edc3ca3921 100644 (file)
@@ -31,7 +31,7 @@ namespace llvm {
   struct MachOSym;
   class TargetData;
   class TargetMachine;
-  class TargetAsmInfo;
+  class MCAsmInfo;
   class ObjectCodeEmitter;
   class OutputBuffer;
   class raw_ostream;
@@ -78,7 +78,7 @@ namespace llvm {
     bool is64Bit, isLittleEndian;
 
     // Target Asm Info
-    const TargetAsmInfo *TAI;
+    const MCAsmInfo *TAI;
 
     /// Header - An instance of MachOHeader that we will update while we build
     /// the file, and then emit during finalization.
index 6fcc3fdcd0d9c1b9a76c2df3691812008f32dbf5..e60a945580890196fccd1873bf9aafe44f24970e 100644 (file)
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Target/TargetLowering.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetMachine.h"
@@ -530,7 +530,7 @@ TargetLowering::TargetLowering(TargetMachine &tm,TargetLoweringObjectFile *tlof)
   InitLibcallCallingConvs(LibcallCallingConvs);
 
   // Tell Legalize whether the assembler supports DEBUG_LOC.
-  const TargetAsmInfo *TASM = TM.getTargetAsmInfo();
+  const MCAsmInfo *TASM = TM.getMCAsmInfo();
   if (!TASM || !TASM->hasDotLocAndDotFile())
     setOperationAction(ISD::DEBUG_LOC, MVT::Other, Expand);
 }
index a3a050635fe4ec533e386eb8bcd1c522233ac512..f7fb983e1acb1c68708b71b6d73b4e8fd5df432e 100644 (file)
@@ -22,7 +22,7 @@
 #include "llvm/CodeGen/MachineModuleInfo.h"
 #include "llvm/ExecutionEngine/JITMemoryManager.h"
 #include "llvm/Support/ErrorHandling.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetInstrInfo.h"
 #include "llvm/Target/TargetFrameInfo.h"
@@ -40,7 +40,7 @@ unsigned char* JITDwarfEmitter::EmitDwarfTable(MachineFunction& F,
                                                unsigned char* EndFunction) {
   const TargetMachine& TM = F.getTarget();
   TD = TM.getTargetData();
-  needsIndirectEncoding = TM.getTargetAsmInfo()->getNeedsIndirectEncoding();
+  needsIndirectEncoding = TM.getMCAsmInfo()->getNeedsIndirectEncoding();
   stackGrowthDirection = TM.getFrameInfo()->getStackGrowthDirection();
   RI = TM.getRegisterInfo();
   JCE = &jce;
@@ -242,7 +242,7 @@ unsigned char* JITDwarfEmitter::EmitExceptionTable(MachineFunction* MF,
   for(std::vector<unsigned>::const_iterator I = FilterIds.begin(),
     E = FilterIds.end(); I != E; ++I) {
     FilterOffsets.push_back(Offset);
-    Offset -= TargetAsmInfo::getULEB128Size(*I);
+    Offset -= MCAsmInfo::getULEB128Size(*I);
   }
 
   // Compute the actions table and gather the first action index for each
@@ -267,10 +267,10 @@ unsigned char* JITDwarfEmitter::EmitExceptionTable(MachineFunction* MF,
         const unsigned SizePrevIds = LandingPads[i-1]->TypeIds.size();
         assert(Actions.size());
         PrevAction = &Actions.back();
-        SizeAction = TargetAsmInfo::getSLEB128Size(PrevAction->NextAction) +
-          TargetAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
+        SizeAction = MCAsmInfo::getSLEB128Size(PrevAction->NextAction) +
+          MCAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
         for (unsigned j = NumShared; j != SizePrevIds; ++j) {
-          SizeAction -= TargetAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
+          SizeAction -= MCAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
           SizeAction += -PrevAction->NextAction;
           PrevAction = PrevAction->Previous;
         }
@@ -281,10 +281,10 @@ unsigned char* JITDwarfEmitter::EmitExceptionTable(MachineFunction* MF,
         int TypeID = TypeIds[I];
         assert(-1-TypeID < (int)FilterOffsets.size() && "Unknown filter id!");
         int ValueForTypeID = TypeID < 0 ? FilterOffsets[-1 - TypeID] : TypeID;
-        unsigned SizeTypeID = TargetAsmInfo::getSLEB128Size(ValueForTypeID);
+        unsigned SizeTypeID = MCAsmInfo::getSLEB128Size(ValueForTypeID);
 
         int NextAction = SizeAction ? -(SizeAction + SizeTypeID) : 0;
-        SizeAction = SizeTypeID + TargetAsmInfo::getSLEB128Size(NextAction);
+        SizeAction = SizeTypeID + MCAsmInfo::getSLEB128Size(NextAction);
         SizeSiteActions += SizeAction;
 
         ActionEntry Action = {ValueForTypeID, NextAction, PrevAction};
@@ -387,13 +387,13 @@ unsigned char* JITDwarfEmitter::EmitExceptionTable(MachineFunction* MF,
                                             sizeof(int32_t) + // Site length.
                                             sizeof(int32_t)); // Landing pad.
   for (unsigned i = 0, e = CallSites.size(); i < e; ++i)
-    SizeSites += TargetAsmInfo::getULEB128Size(CallSites[i].Action);
+    SizeSites += MCAsmInfo::getULEB128Size(CallSites[i].Action);
 
   unsigned SizeTypes = TypeInfos.size() * TD->getPointerSize();
 
   unsigned TypeOffset = sizeof(int8_t) + // Call site format
                         // Call-site table length
-                        TargetAsmInfo::getULEB128Size(SizeSites) + 
+                        MCAsmInfo::getULEB128Size(SizeSites) + 
                         SizeSites + SizeActions + SizeTypes;
 
   // Begin the exception table.
@@ -607,7 +607,7 @@ unsigned JITDwarfEmitter::GetDwarfTableSizeInBytes(MachineFunction& F,
                                          unsigned char* EndFunction) {
   const TargetMachine& TM = F.getTarget();
   TD = TM.getTargetData();
-  needsIndirectEncoding = TM.getTargetAsmInfo()->getNeedsIndirectEncoding();
+  needsIndirectEncoding = TM.getMCAsmInfo()->getNeedsIndirectEncoding();
   stackGrowthDirection = TM.getFrameInfo()->getStackGrowthDirection();
   RI = TM.getRegisterInfo();
   JCE = &jce;
@@ -645,10 +645,10 @@ JITDwarfEmitter::GetEHFrameSizeInBytes(const Function* Personality,
   // If there is a personality and landing pads then point to the language
   // specific data area in the exception table.
   if (MMI->getPersonalityIndex()) {
-    FinalSize += TargetAsmInfo::getULEB128Size(4); 
+    FinalSize += MCAsmInfo::getULEB128Size(4); 
     FinalSize += PointerSize;
   } else {
-    FinalSize += TargetAsmInfo::getULEB128Size(0);
+    FinalSize += MCAsmInfo::getULEB128Size(0);
   }
       
   // Indicate locations of function specific  callee saved registers in
@@ -676,24 +676,24 @@ unsigned JITDwarfEmitter::GetCommonEHFrameSizeInBytes(const Function* Personalit
   FinalSize += 4;
   FinalSize += 1;
   FinalSize += Personality ? 5 : 3; // "zPLR" or "zR"
-  FinalSize += TargetAsmInfo::getULEB128Size(1);
-  FinalSize += TargetAsmInfo::getSLEB128Size(stackGrowth);
+  FinalSize += MCAsmInfo::getULEB128Size(1);
+  FinalSize += MCAsmInfo::getSLEB128Size(stackGrowth);
   FinalSize += 1;
   
   if (Personality) {
-    FinalSize += TargetAsmInfo::getULEB128Size(7);
+    FinalSize += MCAsmInfo::getULEB128Size(7);
     
     // Encoding
     FinalSize+= 1;
     //Personality
     FinalSize += PointerSize;
     
-    FinalSize += TargetAsmInfo::getULEB128Size(dwarf::DW_EH_PE_pcrel);
-    FinalSize += TargetAsmInfo::getULEB128Size(dwarf::DW_EH_PE_pcrel);
+    FinalSize += MCAsmInfo::getULEB128Size(dwarf::DW_EH_PE_pcrel);
+    FinalSize += MCAsmInfo::getULEB128Size(dwarf::DW_EH_PE_pcrel);
       
   } else {
-    FinalSize += TargetAsmInfo::getULEB128Size(1);
-    FinalSize += TargetAsmInfo::getULEB128Size(dwarf::DW_EH_PE_pcrel);
+    FinalSize += MCAsmInfo::getULEB128Size(1);
+    FinalSize += MCAsmInfo::getULEB128Size(dwarf::DW_EH_PE_pcrel);
   }
 
   std::vector<MachineMove> Moves;
@@ -745,12 +745,12 @@ JITDwarfEmitter::GetFrameMovesSizeInBytes(intptr_t BaseLabelPtr,
         } else {
           ++FinalSize;
           unsigned RegNum = RI->getDwarfRegNum(Src.getReg(), true);
-          FinalSize += TargetAsmInfo::getULEB128Size(RegNum);
+          FinalSize += MCAsmInfo::getULEB128Size(RegNum);
         }
         
         int Offset = -Src.getOffset();
         
-        FinalSize += TargetAsmInfo::getULEB128Size(Offset);
+        FinalSize += MCAsmInfo::getULEB128Size(Offset);
       } else {
         llvm_unreachable("Machine move no supported yet.");
       }
@@ -759,7 +759,7 @@ JITDwarfEmitter::GetFrameMovesSizeInBytes(intptr_t BaseLabelPtr,
       if (Dst.isReg()) {
         ++FinalSize;
         unsigned RegNum = RI->getDwarfRegNum(Dst.getReg(), true);
-        FinalSize += TargetAsmInfo::getULEB128Size(RegNum);
+        FinalSize += MCAsmInfo::getULEB128Size(RegNum);
       } else {
         llvm_unreachable("Machine move no supported yet.");
       }
@@ -769,15 +769,15 @@ JITDwarfEmitter::GetFrameMovesSizeInBytes(intptr_t BaseLabelPtr,
       
       if (Offset < 0) {
         ++FinalSize;
-        FinalSize += TargetAsmInfo::getULEB128Size(Reg);
-        FinalSize += TargetAsmInfo::getSLEB128Size(Offset);
+        FinalSize += MCAsmInfo::getULEB128Size(Reg);
+        FinalSize += MCAsmInfo::getSLEB128Size(Offset);
       } else if (Reg < 64) {
         ++FinalSize;
-        FinalSize += TargetAsmInfo::getULEB128Size(Offset);
+        FinalSize += MCAsmInfo::getULEB128Size(Offset);
       } else {
         ++FinalSize;
-        FinalSize += TargetAsmInfo::getULEB128Size(Reg);
-        FinalSize += TargetAsmInfo::getULEB128Size(Offset);
+        FinalSize += MCAsmInfo::getULEB128Size(Reg);
+        FinalSize += MCAsmInfo::getULEB128Size(Offset);
       }
     }
   }
@@ -820,7 +820,7 @@ JITDwarfEmitter::GetExceptionTableSizeInBytes(MachineFunction* MF) const {
   for(std::vector<unsigned>::const_iterator I = FilterIds.begin(),
     E = FilterIds.end(); I != E; ++I) {
     FilterOffsets.push_back(Offset);
-    Offset -= TargetAsmInfo::getULEB128Size(*I);
+    Offset -= MCAsmInfo::getULEB128Size(*I);
   }
 
   // Compute the actions table and gather the first action index for each
@@ -845,10 +845,10 @@ JITDwarfEmitter::GetExceptionTableSizeInBytes(MachineFunction* MF) const {
         const unsigned SizePrevIds = LandingPads[i-1]->TypeIds.size();
         assert(Actions.size());
         PrevAction = &Actions.back();
-        SizeAction = TargetAsmInfo::getSLEB128Size(PrevAction->NextAction) +
-          TargetAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
+        SizeAction = MCAsmInfo::getSLEB128Size(PrevAction->NextAction) +
+          MCAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
         for (unsigned j = NumShared; j != SizePrevIds; ++j) {
-          SizeAction -= TargetAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
+          SizeAction -= MCAsmInfo::getSLEB128Size(PrevAction->ValueForTypeID);
           SizeAction += -PrevAction->NextAction;
           PrevAction = PrevAction->Previous;
         }
@@ -859,10 +859,10 @@ JITDwarfEmitter::GetExceptionTableSizeInBytes(MachineFunction* MF) const {
         int TypeID = TypeIds[I];
         assert(-1-TypeID < (int)FilterOffsets.size() && "Unknown filter id!");
         int ValueForTypeID = TypeID < 0 ? FilterOffsets[-1 - TypeID] : TypeID;
-        unsigned SizeTypeID = TargetAsmInfo::getSLEB128Size(ValueForTypeID);
+        unsigned SizeTypeID = MCAsmInfo::getSLEB128Size(ValueForTypeID);
 
         int NextAction = SizeAction ? -(SizeAction + SizeTypeID) : 0;
-        SizeAction = SizeTypeID + TargetAsmInfo::getSLEB128Size(NextAction);
+        SizeAction = SizeTypeID + MCAsmInfo::getSLEB128Size(NextAction);
         SizeSiteActions += SizeAction;
 
         ActionEntry Action = {ValueForTypeID, NextAction, PrevAction};
@@ -965,18 +965,18 @@ JITDwarfEmitter::GetExceptionTableSizeInBytes(MachineFunction* MF) const {
                                             sizeof(int32_t) + // Site length.
                                             sizeof(int32_t)); // Landing pad.
   for (unsigned i = 0, e = CallSites.size(); i < e; ++i)
-    SizeSites += TargetAsmInfo::getULEB128Size(CallSites[i].Action);
+    SizeSites += MCAsmInfo::getULEB128Size(CallSites[i].Action);
 
   unsigned SizeTypes = TypeInfos.size() * TD->getPointerSize();
 
   unsigned TypeOffset = sizeof(int8_t) + // Call site format
                         // Call-site table length
-                        TargetAsmInfo::getULEB128Size(SizeSites) + 
+                        MCAsmInfo::getULEB128Size(SizeSites) + 
                         SizeSites + SizeActions + SizeTypes;
 
   unsigned TotalSize = sizeof(int8_t) + // LPStart format
                        sizeof(int8_t) + // TType format
-                       TargetAsmInfo::getULEB128Size(TypeOffset) + // TType base offset
+                       MCAsmInfo::getULEB128Size(TypeOffset) + // TType base offset
                        TypeOffset;
 
   unsigned SizeAlign = (4 - TotalSize) & 3;
@@ -1014,7 +1014,7 @@ JITDwarfEmitter::GetExceptionTableSizeInBytes(MachineFunction* MF) const {
     // Asm->EOL("Landing pad");
     FinalSize += PointerSize;
 
-    FinalSize += TargetAsmInfo::getULEB128Size(S.Action);
+    FinalSize += MCAsmInfo::getULEB128Size(S.Action);
     // Asm->EOL("Action");
   }
 
@@ -1023,9 +1023,9 @@ JITDwarfEmitter::GetExceptionTableSizeInBytes(MachineFunction* MF) const {
     ActionEntry &Action = Actions[I];
 
     //Asm->EOL("TypeInfo index");
-    FinalSize += TargetAsmInfo::getSLEB128Size(Action.ValueForTypeID);
+    FinalSize += MCAsmInfo::getSLEB128Size(Action.ValueForTypeID);
     //Asm->EOL("Next action");
-    FinalSize += TargetAsmInfo::getSLEB128Size(Action.NextAction);
+    FinalSize += MCAsmInfo::getSLEB128Size(Action.NextAction);
   }
 
   // Emit the type ids.
@@ -1037,7 +1037,7 @@ JITDwarfEmitter::GetExceptionTableSizeInBytes(MachineFunction* MF) const {
   // Emit the filter typeids.
   for (unsigned j = 0, M = FilterIds.size(); j < M; ++j) {
     unsigned TypeID = FilterIds[j];
-    FinalSize += TargetAsmInfo::getULEB128Size(TypeID);
+    FinalSize += MCAsmInfo::getULEB128Size(TypeID);
     //Asm->EOL("Filter TypeInfo index");
   }
   
index 655137d580c9480529e0541a1127eeefd1ea583d..32460c2b8550b39b11f4fe1e7496ab91098cdb48 100644 (file)
@@ -14,7 +14,7 @@
 #include "llvm/MC/MCSectionMachO.h"
 #include "llvm/MC/MCSymbol.h"
 #include "llvm/MC/MCValue.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/raw_ostream.h"
@@ -24,10 +24,10 @@ namespace {
 
 class MCAsmStreamer : public MCStreamer {
   raw_ostream &OS;
-  const TargetAsmInfo &TAI;
+  const MCAsmInfo &TAI;
   AsmPrinter *Printer;
 public:
-  MCAsmStreamer(MCContext &Context, raw_ostream &_OS, const TargetAsmInfo &tai,
+  MCAsmStreamer(MCContext &Context, raw_ostream &_OS, const MCAsmInfo &tai,
                 AsmPrinter *_AsmPrinter)
     : MCStreamer(Context), OS(_OS), TAI(tai), Printer(_AsmPrinter) {}
   ~MCAsmStreamer() {}
@@ -314,6 +314,6 @@ void MCAsmStreamer::Finish() {
 }
     
 MCStreamer *llvm::createAsmStreamer(MCContext &Context, raw_ostream &OS,
-                                    const TargetAsmInfo &TAI, AsmPrinter *AP) {
+                                    const MCAsmInfo &TAI, AsmPrinter *AP) {
   return new MCAsmStreamer(Context, OS, TAI, AP);
 }
index 3e837635f22d3775703904f3c1384e2b8e3a1b29..1f2896b7ccf3fe5c373035023e3e1c02c136b722 100644 (file)
@@ -9,7 +9,7 @@
 
 #include "llvm/MC/MCSection.h"
 #include "llvm/MC/MCContext.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace llvm;
 
@@ -29,7 +29,7 @@ Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) {
   return new (Ctx) MCSectionCOFF(Name, IsDirective, K);
 }
 
-void MCSectionCOFF::PrintSwitchToSection(const TargetAsmInfo &TAI,
+void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &TAI,
                                          raw_ostream &OS) const {
   
   if (isDirective()) {
index fe0fcb3a06459fa2829496dc656f22efcae4507f..96f8429ad9235371af9c19f13764aabed37b8002 100644 (file)
@@ -10,7 +10,7 @@
 #include "llvm/MC/MCSectionELF.h"
 #include "llvm/MC/MCContext.h"
 #include "llvm/Support/raw_ostream.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 
 using namespace llvm;
 
@@ -23,7 +23,7 @@ Create(const StringRef &Section, unsigned Type, unsigned Flags,
 // ShouldOmitSectionDirective - Decides whether a '.section' directive
 // should be printed before the section name
 bool MCSectionELF::ShouldOmitSectionDirective(const char *Name,
-                                        const TargetAsmInfo &TAI) const {
+                                        const MCAsmInfo &TAI) const {
   
   // FIXME: Does .section .bss/.data/.text work everywhere??
   if (strcmp(Name, ".text") == 0 ||
@@ -44,7 +44,7 @@ bool MCSectionELF::ShouldPrintSectionType(unsigned Ty) const {
   return true;
 }
 
-void MCSectionELF::PrintSwitchToSection(const TargetAsmInfo &TAI,
+void MCSectionELF::PrintSwitchToSection(const MCAsmInfo &TAI,
                                         raw_ostream &OS) const {
    
   if (ShouldOmitSectionDirective(SectionName.c_str(), TAI)) {
index 0cdffc85e83e725f828e57209203b3cc7aefd151..5615398737c7d399ab8fd9c971ae6209c4a48c05 100644 (file)
@@ -72,7 +72,7 @@ Create(const StringRef &Segment, const StringRef &Section,
                                   Reserved2, K);
 }
 
-void MCSectionMachO::PrintSwitchToSection(const TargetAsmInfo &TAI,
+void MCSectionMachO::PrintSwitchToSection(const MCAsmInfo &TAI,
                                           raw_ostream &OS) const {
   OS << "\t.section\t" << getSegmentName() << ',' << getSectionName();
   
index 44e5c687b28f9b879239130e640d27ecfeb0e631..2362e776210e794fe37575722b5a31275a41965d 100644 (file)
@@ -21,7 +21,7 @@
 #include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/CodeGen/MachineJumpTableInfo.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ErrorHandling.h"
 using namespace llvm;
@@ -405,7 +405,7 @@ static unsigned getNumJTEntries(const std::vector<MachineJumpTableEntry> &JT,
 unsigned ARMBaseInstrInfo::GetInstSizeInBytes(const MachineInstr *MI) const {
   const MachineBasicBlock &MBB = *MI->getParent();
   const MachineFunction *MF = MBB.getParent();
-  const TargetAsmInfo *TAI = MF->getTarget().getTargetAsmInfo();
+  const MCAsmInfo *TAI = MF->getTarget().getMCAsmInfo();
 
   // Basic size info comes from the TSFlags field.
   const TargetInstrDesc &TID = MI->getDesc();
index 71fce8c6ed6515365eac883b9c7e03139dbffbef..4c92891c82bd6fca4a7313aa4287ff5c8d04a570 100644 (file)
@@ -21,7 +21,7 @@
 #include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/CodeGen/MachineJumpTableInfo.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Support/CommandLine.h"
 using namespace llvm;
 
diff --git a/lib/Target/ARM/ARMMCAsmInfo.cpp b/lib/Target/ARM/ARMMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..ed6f6b2
--- /dev/null
@@ -0,0 +1,72 @@
+//===-- ARMMCAsmInfo.cpp - ARM asm properties -------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the ARMMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "ARMMCAsmInfo.h"
+using namespace llvm;
+
+static const char *const arm_asm_table[] = {
+  "{r0}", "r0",
+  "{r1}", "r1",
+  "{r2}", "r2",
+  "{r3}", "r3",
+  "{r4}", "r4",
+  "{r5}", "r5",
+  "{r6}", "r6",
+  "{r7}", "r7",
+  "{r8}", "r8",
+  "{r9}", "r9",
+  "{r10}", "r10",
+  "{r11}", "r11",
+  "{r12}", "r12",
+  "{r13}", "r13",
+  "{r14}", "r14",
+  "{lr}", "lr",
+  "{sp}", "sp",
+  "{ip}", "ip",
+  "{fp}", "fp",
+  "{sl}", "sl",
+  "{memory}", "memory",
+  "{cc}", "cc",
+  0,0
+};
+
+ARMDarwinMCAsmInfo::ARMDarwinMCAsmInfo() {
+  AsmTransCBE = arm_asm_table;
+  Data64bitsDirective = 0;
+  CommentString = "@";
+  COMMDirectiveTakesAlignment = false;
+  SupportsDebugInformation = true;
+
+  // Exceptions handling
+  ExceptionsType = ExceptionHandling::SjLj;
+  AbsoluteEHSectionOffsets = false;
+}
+
+ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
+  AlignmentIsInBytes = false;
+  Data64bitsDirective = 0;
+  CommentString = "@";
+  COMMDirectiveTakesAlignment = false;
+  
+  NeedsSet = false;
+  HasLEB128 = true;
+  AbsoluteDebugSectionOffsets = true;
+  PrivateGlobalPrefix = ".L";
+  WeakRefDirective = "\t.weak\t";
+  SetDirective = "\t.set\t";
+  LCOMMDirective = "\t.lcomm\t";
+
+  DwarfRequiresFrameSection = false;
+
+  SupportsDebugInformation = true;
+}
diff --git a/lib/Target/ARM/ARMMCAsmInfo.h b/lib/Target/ARM/ARMMCAsmInfo.h
new file mode 100644 (file)
index 0000000..e263ece
--- /dev/null
@@ -0,0 +1,31 @@
+//=====-- ARMMCAsmInfo.h - ARM asm properties -------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the ARMMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_ARMTARGETASMINFO_H
+#define LLVM_ARMTARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfoDarwin.h"
+
+namespace llvm {
+
+  struct ARMDarwinMCAsmInfo : public DarwinMCAsmInfo {
+    explicit ARMDarwinMCAsmInfo();
+  };
+
+  struct ARMELFMCAsmInfo : public MCAsmInfo {
+    explicit ARMELFMCAsmInfo();
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/ARM/ARMTargetAsmInfo.cpp b/lib/Target/ARM/ARMTargetAsmInfo.cpp
deleted file mode 100644 (file)
index 0c3df82..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-//===-- ARMTargetAsmInfo.cpp - ARM asm properties ---------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the ARMTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "ARMTargetAsmInfo.h"
-using namespace llvm;
-
-static const char *const arm_asm_table[] = {
-  "{r0}", "r0",
-  "{r1}", "r1",
-  "{r2}", "r2",
-  "{r3}", "r3",
-  "{r4}", "r4",
-  "{r5}", "r5",
-  "{r6}", "r6",
-  "{r7}", "r7",
-  "{r8}", "r8",
-  "{r9}", "r9",
-  "{r10}", "r10",
-  "{r11}", "r11",
-  "{r12}", "r12",
-  "{r13}", "r13",
-  "{r14}", "r14",
-  "{lr}", "lr",
-  "{sp}", "sp",
-  "{ip}", "ip",
-  "{fp}", "fp",
-  "{sl}", "sl",
-  "{memory}", "memory",
-  "{cc}", "cc",
-  0,0
-};
-
-ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() {
-  AsmTransCBE = arm_asm_table;
-  Data64bitsDirective = 0;
-  CommentString = "@";
-  COMMDirectiveTakesAlignment = false;
-  SupportsDebugInformation = true;
-
-  // Exceptions handling
-  ExceptionsType = ExceptionHandling::SjLj;
-  AbsoluteEHSectionOffsets = false;
-}
-
-ARMELFTargetAsmInfo::ARMELFTargetAsmInfo() {
-  AlignmentIsInBytes = false;
-  Data64bitsDirective = 0;
-  CommentString = "@";
-  COMMDirectiveTakesAlignment = false;
-  
-  NeedsSet = false;
-  HasLEB128 = true;
-  AbsoluteDebugSectionOffsets = true;
-  PrivateGlobalPrefix = ".L";
-  WeakRefDirective = "\t.weak\t";
-  SetDirective = "\t.set\t";
-  LCOMMDirective = "\t.lcomm\t";
-
-  DwarfRequiresFrameSection = false;
-
-  SupportsDebugInformation = true;
-}
diff --git a/lib/Target/ARM/ARMTargetAsmInfo.h b/lib/Target/ARM/ARMTargetAsmInfo.h
deleted file mode 100644 (file)
index 3fde8ba..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-//=====-- ARMTargetAsmInfo.h - ARM asm properties -------------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the ARMTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ARMTARGETASMINFO_H
-#define LLVM_ARMTARGETASMINFO_H
-
-#include "llvm/Target/DarwinTargetAsmInfo.h"
-
-namespace llvm {
-
-  struct ARMDarwinTargetAsmInfo : public DarwinTargetAsmInfo {
-    explicit ARMDarwinTargetAsmInfo();
-  };
-
-  struct ARMELFTargetAsmInfo : public TargetAsmInfo {
-    explicit ARMELFTargetAsmInfo();
-  };
-
-} // namespace llvm
-
-#endif
index fdfa3a32e5accda2da699f24c5c8d0b1b1fbb139..ae5107aff2b722dacac9f15a8ec06f8a3493a53d 100644 (file)
@@ -11,7 +11,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "ARMTargetMachine.h"
-#include "ARMTargetAsmInfo.h"
+#include "ARMMCAsmInfo.h"
 #include "ARMFrameInfo.h"
 #include "ARM.h"
 #include "llvm/PassManager.h"
@@ -27,14 +27,14 @@ static cl::opt<bool> DisableLdStOpti("disable-arm-loadstore-opti", cl::Hidden,
 static cl::opt<bool> DisableIfConversion("disable-arm-if-conversion",cl::Hidden,
                               cl::desc("Disable if-conversion pass"));
 
-static const TargetAsmInfo *createTargetAsmInfo(const Target &T,
+static const MCAsmInfo *createMCAsmInfo(const Target &T,
                                                 const StringRef &TT) {
   Triple TheTriple(TT);
   switch (TheTriple.getOS()) {
   case Triple::Darwin:
-    return new ARMDarwinTargetAsmInfo();
+    return new ARMDarwinMCAsmInfo();
   default:
-    return new ARMELFTargetAsmInfo();
+    return new ARMELFMCAsmInfo();
   }
 }
 
@@ -45,8 +45,8 @@ extern "C" void LLVMInitializeARMTarget() {
   RegisterTargetMachine<ThumbTargetMachine> Y(TheThumbTarget);
   
   // Register the target asm info.
-  RegisterAsmInfoFn A(TheARMTarget, createTargetAsmInfo);
-  RegisterAsmInfoFn B(TheThumbTarget, createTargetAsmInfo);
+  RegisterAsmInfoFn A(TheARMTarget, createMCAsmInfo);
+  RegisterAsmInfoFn B(TheThumbTarget, createMCAsmInfo);
 }
 
 /// TargetMachine ctor - Create an ARM architecture model.
index 4b0f92f6ce903839044a482634461b2f327f4ccf..1b36b2164375160ca60f718d70810c3ddef4c767 100644 (file)
@@ -29,7 +29,7 @@
 #include "llvm/CodeGen/MachineJumpTableInfo.h"
 #include "llvm/MC/MCSectionMachO.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetMachine.h"
@@ -111,7 +111,7 @@ namespace {
     bool InCPMode;
   public:
     explicit ARMAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                           const TargetAsmInfo *T, bool V)
+                           const MCAsmInfo *T, bool V)
       : AsmPrinter(O, TM, T, V), DW(0), AFI(NULL), MCP(NULL),
         InCPMode(false) {
       Subtarget = &TM.getSubtarget<ARMSubtarget>();
@@ -423,7 +423,7 @@ void ARMAsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
 }
 
 static void printSOImm(formatted_raw_ostream &O, int64_t V, bool VerboseAsm,
-                       const TargetAsmInfo *TAI) {
+                       const MCAsmInfo *TAI) {
   // Break it up into two parts that make up a shifter immediate.
   V = ARM_AM::getSOImmVal(V);
   assert(V != -1 && "Not a valid so_imm value!");
index aca8ca73489783e5634b46a4c55c82b87a79764f..719ffaec3eaffe66786cfb00214b14f2f0d06d68 100644 (file)
@@ -17,7 +17,7 @@
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 using namespace llvm;
 
 namespace {
diff --git a/lib/Target/Alpha/AlphaMCAsmInfo.cpp b/lib/Target/Alpha/AlphaMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..b652a53
--- /dev/null
@@ -0,0 +1,22 @@
+//===-- AlphaMCAsmInfo.cpp - Alpha asm properties ---------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the AlphaMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "AlphaMCAsmInfo.h"
+using namespace llvm;
+
+AlphaMCAsmInfo::AlphaMCAsmInfo(const Target &T, const StringRef &TT) {
+  AlignmentIsInBytes = false;
+  PrivateGlobalPrefix = "$";
+  PICJumpTableDirective = ".gprel32";
+  WeakRefDirective = "\t.weak\t";
+}
diff --git a/lib/Target/Alpha/AlphaMCAsmInfo.h b/lib/Target/Alpha/AlphaMCAsmInfo.h
new file mode 100644 (file)
index 0000000..c27065d
--- /dev/null
@@ -0,0 +1,29 @@
+//=====-- AlphaMCAsmInfo.h - Alpha asm properties -------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the AlphaMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef ALPHATARGETASMINFO_H
+#define ALPHATARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+
+  struct AlphaMCAsmInfo : public MCAsmInfo {
+    explicit AlphaMCAsmInfo(const Target &T, const StringRef &TT);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/Alpha/AlphaTargetAsmInfo.cpp b/lib/Target/Alpha/AlphaTargetAsmInfo.cpp
deleted file mode 100644 (file)
index ebb89ec..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-//===-- AlphaTargetAsmInfo.cpp - Alpha asm properties -----------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the AlphaTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "AlphaTargetAsmInfo.h"
-using namespace llvm;
-
-AlphaTargetAsmInfo::AlphaTargetAsmInfo(const Target &T, const StringRef &TT) {
-  AlignmentIsInBytes = false;
-  PrivateGlobalPrefix = "$";
-  PICJumpTableDirective = ".gprel32";
-  WeakRefDirective = "\t.weak\t";
-}
diff --git a/lib/Target/Alpha/AlphaTargetAsmInfo.h b/lib/Target/Alpha/AlphaTargetAsmInfo.h
deleted file mode 100644 (file)
index 20903c7..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//=====-- AlphaTargetAsmInfo.h - Alpha asm properties ---------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the AlphaTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef ALPHATARGETASMINFO_H
-#define ALPHATARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-
-  struct AlphaTargetAsmInfo : public TargetAsmInfo {
-    explicit AlphaTargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-
-} // namespace llvm
-
-#endif
index 19218704a6f113e2d8c38ae0628d87deecf4a6d4..b8bc13b630979e56c8a60c746fb283135e5f8212 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "Alpha.h"
 #include "AlphaJITInfo.h"
-#include "AlphaTargetAsmInfo.h"
+#include "AlphaMCAsmInfo.h"
 #include "AlphaTargetMachine.h"
 #include "llvm/PassManager.h"
 #include "llvm/Support/FormattedStream.h"
@@ -22,7 +22,7 @@ using namespace llvm;
 extern "C" void LLVMInitializeAlphaTarget() { 
   // Register the target.
   RegisterTargetMachine<AlphaTargetMachine> X(TheAlphaTarget);
-  RegisterAsmInfo<AlphaTargetAsmInfo> Y(TheAlphaTarget);
+  RegisterAsmInfo<AlphaMCAsmInfo> Y(TheAlphaTarget);
 }
 
 AlphaTargetMachine::AlphaTargetMachine(const Target &T, const std::string &TT,
index a19661d08d796bd9ab0dc2152321a7337dfa4e03..47701d1f0cf78ff33fd9e3c1ed550b48143c8ba0 100644 (file)
@@ -22,7 +22,7 @@
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/CodeGen/DwarfWriter.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetRegistry.h"
@@ -41,7 +41,7 @@ namespace {
     ///
 
     explicit AlphaAsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
-                             const TargetAsmInfo *T, bool V)
+                             const MCAsmInfo *T, bool V)
       : AsmPrinter(o, tm, T, V) {}
 
     virtual const char *getPassName() const {
index fd00ea5addd67819a228617a36183c82c160b2e0..1286e01d95bbc3463313f506b62ab17d47777bb0 100644 (file)
@@ -24,7 +24,7 @@
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetRegistry.h"
@@ -40,7 +40,7 @@ namespace {
   class VISIBILITY_HIDDEN BlackfinAsmPrinter : public AsmPrinter {
   public:
     BlackfinAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                       const TargetAsmInfo *TAI, bool V)
+                       const MCAsmInfo *TAI, bool V)
       : AsmPrinter(O, TM, TAI, V) {}
 
     virtual const char *getPassName() const {
diff --git a/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp b/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..6d0f66c
--- /dev/null
@@ -0,0 +1,21 @@
+//===-- BlackfinMCAsmInfo.cpp - Blackfin asm properties -------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the BlackfinMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "BlackfinMCAsmInfo.h"
+
+using namespace llvm;
+
+BlackfinMCAsmInfo::BlackfinMCAsmInfo(const Target &T, const StringRef &TT) {
+  GlobalPrefix = "_";
+  CommentString = "//";
+}
diff --git a/lib/Target/Blackfin/BlackfinMCAsmInfo.h b/lib/Target/Blackfin/BlackfinMCAsmInfo.h
new file mode 100644 (file)
index 0000000..0efc295
--- /dev/null
@@ -0,0 +1,29 @@
+//===-- BlackfinMCAsmInfo.h - Blackfin asm properties ---------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the BlackfinMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef BLACKFINTARGETASMINFO_H
+#define BLACKFINTARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+
+  struct BlackfinMCAsmInfo : public MCAsmInfo {
+    explicit BlackfinMCAsmInfo(const Target &T, const StringRef &TT);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/Blackfin/BlackfinTargetAsmInfo.cpp b/lib/Target/Blackfin/BlackfinTargetAsmInfo.cpp
deleted file mode 100644 (file)
index 2108745..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-//===-- BlackfinTargetAsmInfo.cpp - Blackfin asm properties -----*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the BlackfinTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "BlackfinTargetAsmInfo.h"
-
-using namespace llvm;
-
-BlackfinTargetAsmInfo::BlackfinTargetAsmInfo(const Target &T,
-                                             const StringRef &TT) {
-  GlobalPrefix = "_";
-  CommentString = "//";
-}
diff --git a/lib/Target/Blackfin/BlackfinTargetAsmInfo.h b/lib/Target/Blackfin/BlackfinTargetAsmInfo.h
deleted file mode 100644 (file)
index 8040f0f..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//===-- BlackfinTargetAsmInfo.h - Blackfin asm properties -----*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the BlackfinTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef BLACKFINTARGETASMINFO_H
-#define BLACKFINTARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-
-  struct BlackfinTargetAsmInfo : public TargetAsmInfo {
-    explicit BlackfinTargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-
-} // namespace llvm
-
-#endif
index 4309a9be4d01eb1c7f766c2bd82b1d73ac91d02c..47ba2fe28f582f5ba066fa8cb68a0cfd584b4ff6 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "BlackfinTargetMachine.h"
 #include "Blackfin.h"
-#include "BlackfinTargetAsmInfo.h"
+#include "BlackfinMCAsmInfo.h"
 #include "llvm/PassManager.h"
 #include "llvm/Target/TargetRegistry.h"
 
@@ -20,7 +20,7 @@ using namespace llvm;
 
 extern "C" void LLVMInitializeBlackfinTarget() {
   RegisterTargetMachine<BlackfinTargetMachine> X(TheBlackfinTarget);
-  RegisterAsmInfo<BlackfinTargetAsmInfo> Y(TheBlackfinTarget);
+  RegisterAsmInfo<BlackfinMCAsmInfo> Y(TheBlackfinTarget);
 
 }
 
index f4418040e1825c2a2c0c78c3db69cc7154f8fec0..8099bb3e3b10543ce6c0c979b2d949bb86f52025 100644 (file)
@@ -33,7 +33,7 @@
 #include "llvm/CodeGen/Passes.h"
 #include "llvm/CodeGen/IntrinsicLowering.h"
 #include "llvm/Transforms/Scalar.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetRegistry.h"
 #include "llvm/Support/CallSite.h"
@@ -86,7 +86,7 @@ namespace {
     Mangler *Mang;
     LoopInfo *LI;
     const Module *TheModule;
-    const TargetAsmInfo* TAsm;
+    const MCAsmInfo* TAsm;
     const TargetData* TD;
     std::map<const Type *, std::string> TypeNames;
     std::map<const ConstantFP *, unsigned> FPConstantMap;
@@ -3239,7 +3239,7 @@ std::string CWriter::InterpretASMConstraint(InlineAsm::ConstraintInfo& c) {
 
   const char *const *table = 0;
   
-  // Grab the translation table from TargetAsmInfo if it exists.
+  // Grab the translation table from MCAsmInfo if it exists.
   if (!TAsm) {
     std::string Triple = TheModule->getTargetTriple();
     if (Triple.empty())
index 87e85adcb43204a9f56e6022005e5b426280449d..7586eaceb633de1beca6ffc31dd43617e24881c7 100644 (file)
@@ -1,4 +1,4 @@
-//===-- COFFTargetAsmInfo.cpp - COFF asm properties -------------*- C++ -*-===//
+//===-- COFFMCAsmInfo.cpp - COFF asm properties -----------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Target/COFFTargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfoCOFF.h"
 #include "llvm/ADT/SmallVector.h"
 using namespace llvm;
 
-COFFTargetAsmInfo::COFFTargetAsmInfo() {
+COFFMCAsmInfo::COFFMCAsmInfo() {
   GlobalPrefix = "_";
   LCOMMDirective = "\t.lcomm\t";
   COMMDirectiveTakesAlignment = false;
index 399d430730999dd5204d3005610b058b827bc238..82c0c2bc603633188c92012871d8e2b409dd2e49 100644 (file)
@@ -26,7 +26,7 @@
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetInstrInfo.h"
 #include "llvm/Target/TargetOptions.h"
@@ -53,7 +53,7 @@ namespace {
     std::set<std::string> FnStubs, GVStubs;
   public:
     explicit SPUAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                           const TargetAsmInfo *T, bool V) :
+                           const MCAsmInfo *T, bool V) :
       AsmPrinter(O, TM, T, V) {}
 
     virtual const char *getPassName() const {
@@ -290,7 +290,7 @@ namespace {
     DwarfWriter *DW;
   public:
     explicit LinuxAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                             const TargetAsmInfo *T, bool V)
+                             const MCAsmInfo *T, bool V)
       : SPUAsmPrinter(O, TM, T, V), DW(0) {}
 
     virtual const char *getPassName() const {
diff --git a/lib/Target/CellSPU/SPUMCAsmInfo.cpp b/lib/Target/CellSPU/SPUMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..1c921ab
--- /dev/null
@@ -0,0 +1,40 @@
+//===-- SPUMCAsmInfo.cpp - Cell SPU asm properties ------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the SPUMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "SPUMCAsmInfo.h"
+using namespace llvm;
+
+SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, const StringRef &TT) {
+  ZeroDirective = "\t.space\t";
+  SetDirective = "\t.set";
+  Data64bitsDirective = "\t.quad\t";
+  AlignmentIsInBytes = false;
+  LCOMMDirective = "\t.lcomm\t";
+      
+  PCSymbol = ".";
+  CommentString = "#";
+  GlobalPrefix = "";
+  PrivateGlobalPrefix = ".L";
+
+  // Has leb128, .loc and .file
+  HasLEB128 = true;
+  HasDotLocAndDotFile = true;
+
+  SupportsDebugInformation = true;
+  NeedsSet = true;
+
+  // Exception handling is not supported on CellSPU (think about it: you only
+  // have 256K for code+data. Would you support exception handling?)
+  ExceptionsType = ExceptionHandling::None;
+}
+
diff --git a/lib/Target/CellSPU/SPUMCAsmInfo.h b/lib/Target/CellSPU/SPUMCAsmInfo.h
new file mode 100644 (file)
index 0000000..8d75ea8
--- /dev/null
@@ -0,0 +1,28 @@
+//===-- SPUMCAsmInfo.h - Cell SPU asm properties ---------------*- C++ -*--===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the SPUMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SPUTARGETASMINFO_H
+#define SPUTARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+  
+  struct SPULinuxMCAsmInfo : public MCAsmInfo {
+    explicit SPULinuxMCAsmInfo(const Target &T, const StringRef &TT);
+  };
+} // namespace llvm
+
+#endif /* SPUTARGETASMINFO_H */
diff --git a/lib/Target/CellSPU/SPUTargetAsmInfo.cpp b/lib/Target/CellSPU/SPUTargetAsmInfo.cpp
deleted file mode 100644 (file)
index 4ae852d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//===-- SPUTargetAsmInfo.cpp - Cell SPU asm properties ----------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the SPUTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "SPUTargetAsmInfo.h"
-using namespace llvm;
-
-SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo(const Target &T, const StringRef &TT) {
-  ZeroDirective = "\t.space\t";
-  SetDirective = "\t.set";
-  Data64bitsDirective = "\t.quad\t";
-  AlignmentIsInBytes = false;
-  LCOMMDirective = "\t.lcomm\t";
-      
-  PCSymbol = ".";
-  CommentString = "#";
-  GlobalPrefix = "";
-  PrivateGlobalPrefix = ".L";
-
-  // Has leb128, .loc and .file
-  HasLEB128 = true;
-  HasDotLocAndDotFile = true;
-
-  SupportsDebugInformation = true;
-  NeedsSet = true;
-
-  // Exception handling is not supported on CellSPU (think about it: you only
-  // have 256K for code+data. Would you support exception handling?)
-  ExceptionsType = ExceptionHandling::None;
-}
-
diff --git a/lib/Target/CellSPU/SPUTargetAsmInfo.h b/lib/Target/CellSPU/SPUTargetAsmInfo.h
deleted file mode 100644 (file)
index b3c6bda..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-//===-- SPUTargetAsmInfo.h - Cell SPU asm properties -----------*- C++ -*--===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the SPUTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SPUTARGETASMINFO_H
-#define SPUTARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-  
-  struct SPULinuxTargetAsmInfo : public TargetAsmInfo {
-    explicit SPULinuxTargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-} // namespace llvm
-
-#endif /* SPUTARGETASMINFO_H */
index b904b9559d00b5594fb8c82733dc52362e1129a3..6500067849dbd1581425213f56a7906bee3c70f8 100644 (file)
@@ -13,7 +13,7 @@
 
 #include "SPU.h"
 #include "SPURegisterNames.h"
-#include "SPUTargetAsmInfo.h"
+#include "SPUMCAsmInfo.h"
 #include "SPUTargetMachine.h"
 #include "llvm/PassManager.h"
 #include "llvm/CodeGen/RegAllocRegistry.h"
@@ -25,7 +25,7 @@ using namespace llvm;
 extern "C" void LLVMInitializeCellSPUTarget() { 
   // Register the target.
   RegisterTargetMachine<SPUTargetMachine> X(TheCellSPUTarget);
-  RegisterAsmInfo<SPULinuxTargetAsmInfo> Y(TheCellSPUTarget);
+  RegisterAsmInfo<SPULinuxMCAsmInfo> Y(TheCellSPUTarget);
 }
 
 const std::pair<unsigned, int> *
index c37b41b7001743c098b220d9d94e0d05749f04dc..8e8c6f838e34beaa406b1ecc56093902473081f8 100644 (file)
@@ -1,4 +1,4 @@
-//===-- DarwinTargetAsmInfo.cpp - Darwin asm properties ---------*- C++ -*-===//
+//===-- MCAsmInfoDarwin.cpp - Darwin asm properties -------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Target/DarwinTargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfoDarwin.h"
 using namespace llvm;
 
-DarwinTargetAsmInfo::DarwinTargetAsmInfo() {
+DarwinMCAsmInfo::DarwinMCAsmInfo() {
   // Common settings for all Darwin targets.
   // Syntax:
   GlobalPrefix = "_";
index 73c24eabaa4eab81b123db750a44db0ac3d740a8..a17b2b4ff557a5294136555089c72f5e1fe74d47 100644 (file)
@@ -15,7 +15,7 @@
 #define DEBUG_TYPE "asm-printer"
 #include "MSP430.h"
 #include "MSP430InstrInfo.h"
-#include "MSP430TargetAsmInfo.h"
+#include "MSP430MCAsmInfo.h"
 #include "MSP430TargetMachine.h"
 #include "llvm/Constants.h"
 #include "llvm/DerivedTypes.h"
@@ -44,7 +44,7 @@ namespace {
   class VISIBILITY_HIDDEN MSP430AsmPrinter : public AsmPrinter {
   public:
     MSP430AsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                     const TargetAsmInfo *TAI, bool V)
+                     const MCAsmInfo *TAI, bool V)
       : AsmPrinter(O, TM, TAI, V) {}
 
     virtual const char *getPassName() const {
diff --git a/lib/Target/MSP430/MSP430MCAsmInfo.cpp b/lib/Target/MSP430/MSP430MCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..2309a5f
--- /dev/null
@@ -0,0 +1,19 @@
+//===-- MSP430MCAsmInfo.cpp - MSP430 asm properties -----------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the MSP430MCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "MSP430MCAsmInfo.h"
+using namespace llvm;
+
+MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, const StringRef &TT) {
+  AlignmentIsInBytes = false;
+}
diff --git a/lib/Target/MSP430/MSP430MCAsmInfo.h b/lib/Target/MSP430/MSP430MCAsmInfo.h
new file mode 100644 (file)
index 0000000..8318029
--- /dev/null
@@ -0,0 +1,28 @@
+//=====-- MSP430MCAsmInfo.h - MSP430 asm properties -----------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source 
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the MSP430MCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MSP430TARGETASMINFO_H
+#define MSP430TARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+  struct MSP430MCAsmInfo : public MCAsmInfo {
+    explicit MSP430MCAsmInfo(const Target &T, const StringRef &TT);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/MSP430/MSP430TargetAsmInfo.cpp b/lib/Target/MSP430/MSP430TargetAsmInfo.cpp
deleted file mode 100644 (file)
index 56560d6..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-//===-- MSP430TargetAsmInfo.cpp - MSP430 asm properties -------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the MSP430TargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "MSP430TargetAsmInfo.h"
-using namespace llvm;
-
-MSP430TargetAsmInfo::MSP430TargetAsmInfo(const Target &T, const StringRef &TT) {
-  AlignmentIsInBytes = false;
-}
diff --git a/lib/Target/MSP430/MSP430TargetAsmInfo.h b/lib/Target/MSP430/MSP430TargetAsmInfo.h
deleted file mode 100644 (file)
index 510e239..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-//=====-- MSP430TargetAsmInfo.h - MSP430 asm properties -------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source 
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the MSP430TargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MSP430TARGETASMINFO_H
-#define MSP430TARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-  struct MSP430TargetAsmInfo : public TargetAsmInfo {
-    explicit MSP430TargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-
-} // namespace llvm
-
-#endif
index 08190aa7cc8b2b9b46bc0cad4ccb98f95b0dab97..5e21f8ea29ef88c83051443df8d976070d604e62 100644 (file)
 //===----------------------------------------------------------------------===//
 
 #include "MSP430.h"
-#include "MSP430TargetAsmInfo.h"
+#include "MSP430MCAsmInfo.h"
 #include "MSP430TargetMachine.h"
 #include "llvm/PassManager.h"
 #include "llvm/CodeGen/Passes.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetRegistry.h"
 using namespace llvm;
 
 extern "C" void LLVMInitializeMSP430Target() {
   // Register the target.
   RegisterTargetMachine<MSP430TargetMachine> X(TheMSP430Target);
-  RegisterAsmInfo<MSP430TargetAsmInfo> Z(TheMSP430Target);
+  RegisterAsmInfo<MSP430MCAsmInfo> Z(TheMSP430Target);
 }
 
 MSP430TargetMachine::MSP430TargetMachine(const Target &T,
index 9df23bcbb28cc1a7ef2bfcb65b993831a93b8a10..e942989f13d8e7558ea3bfcb33e7eae93b952258 100644 (file)
@@ -29,7 +29,7 @@
 #include "llvm/CodeGen/MachineFrameInfo.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetLoweringObjectFile.h" 
 #include "llvm/Target/TargetMachine.h"
@@ -54,7 +54,7 @@ namespace {
     const MipsSubtarget *Subtarget;
   public:
     explicit MipsAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM, 
-                            const TargetAsmInfo *T, bool V)
+                            const MCAsmInfo *T, bool V)
       : AsmPrinter(O, TM, T, V) {
       Subtarget = &TM.getSubtarget<MipsSubtarget>();
     }
diff --git a/lib/Target/Mips/MipsMCAsmInfo.cpp b/lib/Target/Mips/MipsMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..d0bd87c
--- /dev/null
@@ -0,0 +1,27 @@
+//===-- MipsMCAsmInfo.cpp - Mips asm properties ---------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the MipsMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "MipsMCAsmInfo.h"
+using namespace llvm;
+
+MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, const StringRef &TT) {
+  AlignmentIsInBytes          = false;
+  COMMDirectiveTakesAlignment = true;
+  Data16bitsDirective         = "\t.half\t";
+  Data32bitsDirective         = "\t.word\t";
+  Data64bitsDirective         = NULL;
+  PrivateGlobalPrefix         = "$";
+  CommentString               = "#";
+  ZeroDirective               = "\t.space\t";
+  PICJumpTableDirective       = "\t.gpword\t";
+}
diff --git a/lib/Target/Mips/MipsMCAsmInfo.h b/lib/Target/Mips/MipsMCAsmInfo.h
new file mode 100644 (file)
index 0000000..33a4b5e
--- /dev/null
@@ -0,0 +1,30 @@
+//=====-- MipsMCAsmInfo.h - Mips asm properties ---------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the MipsMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MIPSTARGETASMINFO_H
+#define MIPSTARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+  
+  class MipsMCAsmInfo : public MCAsmInfo {
+  public:
+    explicit MipsMCAsmInfo(const Target &T, const StringRef &TT);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/Mips/MipsTargetAsmInfo.cpp b/lib/Target/Mips/MipsTargetAsmInfo.cpp
deleted file mode 100644 (file)
index 3046f33..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//===-- MipsTargetAsmInfo.cpp - Mips asm properties -------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the MipsTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "MipsTargetAsmInfo.h"
-using namespace llvm;
-
-MipsTargetAsmInfo::MipsTargetAsmInfo(const Target &T, const StringRef &TT) {
-  AlignmentIsInBytes          = false;
-  COMMDirectiveTakesAlignment = true;
-  Data16bitsDirective         = "\t.half\t";
-  Data32bitsDirective         = "\t.word\t";
-  Data64bitsDirective         = NULL;
-  PrivateGlobalPrefix         = "$";
-  CommentString               = "#";
-  ZeroDirective               = "\t.space\t";
-  PICJumpTableDirective       = "\t.gpword\t";
-}
diff --git a/lib/Target/Mips/MipsTargetAsmInfo.h b/lib/Target/Mips/MipsTargetAsmInfo.h
deleted file mode 100644 (file)
index fbb0236..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-//=====-- MipsTargetAsmInfo.h - Mips asm properties -----------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the MipsTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef MIPSTARGETASMINFO_H
-#define MIPSTARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-  
-  class MipsTargetAsmInfo : public TargetAsmInfo {
-  public:
-    explicit MipsTargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-
-} // namespace llvm
-
-#endif
index c09b6064c3910a7399fc6b220313cc67affa15a0..4fa5450df138dfae26a17f3db1406814a8ffc0bd 100644 (file)
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "Mips.h"
-#include "MipsTargetAsmInfo.h"
+#include "MipsMCAsmInfo.h"
 #include "MipsTargetMachine.h"
 #include "llvm/PassManager.h"
 #include "llvm/Target/TargetRegistry.h"
@@ -22,8 +22,8 @@ extern "C" void LLVMInitializeMipsTarget() {
   // Register the target.
   RegisterTargetMachine<MipsTargetMachine> X(TheMipsTarget);
   RegisterTargetMachine<MipselTargetMachine> Y(TheMipselTarget);
-  RegisterAsmInfo<MipsTargetAsmInfo> A(TheMipsTarget);
-  RegisterAsmInfo<MipsTargetAsmInfo> B(TheMipselTarget);
+  RegisterAsmInfo<MipsMCAsmInfo> A(TheMipsTarget);
+  RegisterAsmInfo<MipsMCAsmInfo> B(TheMipselTarget);
 }
 
 // DataLayout --> Big-endian, 32-bit pointer/ABI/alignment
index 1522e4ca2e6ef44799af87f4861c8379a782c22b..d6e95561a2f1983a1ac630867315e2e7c38cb0c2 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "PIC16AsmPrinter.h"
 #include "MCSectionPIC16.h"
-#include "PIC16TargetAsmInfo.h"
+#include "PIC16MCAsmInfo.h"
 #include "llvm/DerivedTypes.h"
 #include "llvm/Function.h"
 #include "llvm/Module.h"
@@ -34,10 +34,10 @@ using namespace llvm;
 #include "PIC16GenAsmWriter.inc"
 
 PIC16AsmPrinter::PIC16AsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                                 const TargetAsmInfo *T, bool V)
+                                 const MCAsmInfo *T, bool V)
 : AsmPrinter(O, TM, T, V), DbgInfo(O, T) {
   PTLI = static_cast<PIC16TargetLowering*>(TM.getTargetLowering());
-  PTAI = static_cast<const PIC16TargetAsmInfo*>(T);
+  PTAI = static_cast<const PIC16MCAsmInfo*>(T);
   PTOF = (PIC16TargetObjectFile*)&PTLI->getObjFileLowering();
 }
 
index 3eea880a20a8af593855538569b21328052389ca..35a87e0ed6148d1f2aa628ff2a360a1544e3db78 100644 (file)
 #include "PIC16.h"
 #include "PIC16TargetMachine.h"
 #include "PIC16DebugInfo.h"
+#include "PIC16MCAsmInfo.h"
 #include "PIC16TargetObjectFile.h"
 #include "llvm/Analysis/DebugInfo.h"
-#include "PIC16TargetAsmInfo.h"
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/Support/CommandLine.h"
-#include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include <list>
 #include <string>
@@ -32,7 +31,7 @@ namespace llvm {
   class VISIBILITY_HIDDEN PIC16AsmPrinter : public AsmPrinter {
   public:
     explicit PIC16AsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                             const TargetAsmInfo *T, bool V);
+                             const MCAsmInfo *T, bool V);
   private:
     virtual const char *getPassName() const {
       return "PIC16 Assembly Printer";
@@ -71,7 +70,7 @@ namespace llvm {
     PIC16TargetObjectFile *PTOF;
     PIC16TargetLowering *PTLI;
     PIC16DbgInfo DbgInfo;
-    const PIC16TargetAsmInfo *PTAI;
+    const PIC16MCAsmInfo *PTAI;
     std::list<const char *> LibcallDecls; // List of extern decls.
   };
 } // end of namespace
index 66607c813fc31a57085f26d378d359c58dce1152..048f2771b674fadfdf305aa5bc4a78d5419340f9 100644 (file)
@@ -32,7 +32,7 @@ namespace llvm {
     static MCSectionPIC16 *Create(const StringRef &Name, 
                                   SectionKind K, MCContext &Ctx);
     
-    virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
+    virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
                                       raw_ostream &OS) const;
   };
 
index a46c06c1eab40486b2bb49a3af86f3b13cf32c89..1491716fc2f29faddd6669f24feda0ebbdc8d7d8 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "llvm/Analysis/DebugInfo.h"
 #include "llvm/Module.h"
-#include "llvm/Target/TargetAsmInfo.h" 
+#include "llvm/MC/MCAsmInfo.h" 
 #include <map>
 
 namespace llvm {
@@ -94,7 +94,7 @@ namespace llvm {
 
   class PIC16DbgInfo {
     formatted_raw_ostream &O;
-    const TargetAsmInfo *TAI;
+    const MCAsmInfo *TAI;
     std::string CurFile;
     unsigned CurLine;
 
@@ -103,7 +103,7 @@ namespace llvm {
     bool EmitDebugDirectives;
 
   public:
-    PIC16DbgInfo(formatted_raw_ostream &o, const TargetAsmInfo *T)
+    PIC16DbgInfo(formatted_raw_ostream &o, const MCAsmInfo *T)
       : O(o), TAI(T) {
       CurFile = "";
       CurLine = 0;
diff --git a/lib/Target/PIC16/PIC16MCAsmInfo.cpp b/lib/Target/PIC16/PIC16MCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..a17d1a8
--- /dev/null
@@ -0,0 +1,58 @@
+//===-- PIC16MCAsmInfo.cpp - PIC16 asm properties -------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source 
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the PIC16MCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "PIC16MCAsmInfo.h"
+
+// FIXME: Layering violation to get enums and static function, should be moved
+// to separate headers.
+#include "PIC16.h"
+#include "PIC16ISelLowering.h"
+using namespace llvm;
+
+PIC16MCAsmInfo::PIC16MCAsmInfo(const Target &T, const StringRef &TT) {
+  CommentString = ";";
+  GlobalPrefix = PAN::getTagName(PAN::PREFIX_SYMBOL);
+  GlobalDirective = "\tglobal\t";
+  ExternDirective = "\textern\t";
+
+  Data8bitsDirective = " db ";
+  Data16bitsDirective = " dw ";
+  Data32bitsDirective = " dl ";
+  Data64bitsDirective = NULL;
+  ZeroDirective = NULL;
+  AsciiDirective = " dt ";
+  AscizDirective = NULL;
+    
+  RomData8bitsDirective = " dw ";
+  RomData16bitsDirective = " rom_di ";
+  RomData32bitsDirective = " rom_dl ";
+    
+    
+  // Set it to false because we weed to generate c file name and not bc file
+  // name.
+  HasSingleParameterDotFile = false;
+}
+
+const char *PIC16MCAsmInfo::getDataASDirective(unsigned Size,
+                                               unsigned AS) const {
+  if (AS != PIC16ISD::ROM_SPACE)
+    return 0;
+  
+  switch (Size) {
+  case  8: return RomData8bitsDirective;
+  case 16: return RomData16bitsDirective;
+  case 32: return RomData32bitsDirective;
+  default: return NULL;
+  }
+}
+
diff --git a/lib/Target/PIC16/PIC16MCAsmInfo.h b/lib/Target/PIC16/PIC16MCAsmInfo.h
new file mode 100644 (file)
index 0000000..e84db85
--- /dev/null
@@ -0,0 +1,35 @@
+//=====-- PIC16MCAsmInfo.h - PIC16 asm properties -------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source 
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the PIC16MCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef PIC16TARGETASMINFO_H
+#define PIC16TARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+
+  class PIC16MCAsmInfo : public MCAsmInfo {
+    const char *RomData8bitsDirective;
+    const char *RomData16bitsDirective;
+    const char *RomData32bitsDirective;
+  public:    
+    PIC16MCAsmInfo(const Target &T, const StringRef &TT);
+    
+    virtual const char *getDataASDirective(unsigned size, unsigned AS) const;
+  };
+
+} // namespace llvm
+
+#endif
index 43d47ae5292f897257fef3b00c53cc9bd268b56e..c9ebb5756cda4f395573613df7885fb75bdef93c 100644 (file)
@@ -22,7 +22,7 @@
 #define DEBUG_TYPE "pic16-codegen"
 #include "PIC16.h"
 #include "PIC16InstrInfo.h"
-#include "PIC16TargetAsmInfo.h"
+#include "PIC16MCAsmInfo.h"
 #include "PIC16TargetMachine.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/CodeGen/MachineInstrBuilder.h"
diff --git a/lib/Target/PIC16/PIC16TargetAsmInfo.cpp b/lib/Target/PIC16/PIC16TargetAsmInfo.cpp
deleted file mode 100644 (file)
index 8b30291..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//===-- PIC16TargetAsmInfo.cpp - PIC16 asm properties ---------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source 
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the PIC16TargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "PIC16TargetAsmInfo.h"
-
-// FIXME: Layering violation to get enums and static function, should be moved
-// to separate headers.
-#include "PIC16.h"
-#include "PIC16ISelLowering.h"
-using namespace llvm;
-
-PIC16TargetAsmInfo::PIC16TargetAsmInfo(const Target &T, const StringRef &TT) {
-  CommentString = ";";
-  GlobalPrefix = PAN::getTagName(PAN::PREFIX_SYMBOL);
-  GlobalDirective = "\tglobal\t";
-  ExternDirective = "\textern\t";
-
-  Data8bitsDirective = " db ";
-  Data16bitsDirective = " dw ";
-  Data32bitsDirective = " dl ";
-  Data64bitsDirective = NULL;
-  ZeroDirective = NULL;
-  AsciiDirective = " dt ";
-  AscizDirective = NULL;
-    
-  RomData8bitsDirective = " dw ";
-  RomData16bitsDirective = " rom_di ";
-  RomData32bitsDirective = " rom_dl ";
-    
-    
-  // Set it to false because we weed to generate c file name and not bc file
-  // name.
-  HasSingleParameterDotFile = false;
-}
-
-const char *PIC16TargetAsmInfo::
-getDataASDirective(unsigned Size, unsigned AS) const {
-  if (AS != PIC16ISD::ROM_SPACE)
-    return 0;
-  
-  switch (Size) {
-  case  8: return RomData8bitsDirective;
-  case 16: return RomData16bitsDirective;
-  case 32: return RomData32bitsDirective;
-  default: return NULL;
-  }
-}
-
diff --git a/lib/Target/PIC16/PIC16TargetAsmInfo.h b/lib/Target/PIC16/PIC16TargetAsmInfo.h
deleted file mode 100644 (file)
index 23c5ebc..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//=====-- PIC16TargetAsmInfo.h - PIC16 asm properties ---------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source 
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the PIC16TargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef PIC16TARGETASMINFO_H
-#define PIC16TARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-
-  class PIC16TargetAsmInfo : public TargetAsmInfo {
-    const char *RomData8bitsDirective;
-    const char *RomData16bitsDirective;
-    const char *RomData32bitsDirective;
-  public:    
-    PIC16TargetAsmInfo(const Target &T, const StringRef &TT);
-    
-    virtual const char *getDataASDirective(unsigned size, unsigned AS) const;
-  };
-
-} // namespace llvm
-
-#endif
index 2cdaff344fefce759ce575f34ff9ae4d41528126..08307e7cef3f31df2c4cc35cd2a728c208ad63b7 100644 (file)
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "PIC16.h"
-#include "PIC16TargetAsmInfo.h"
+#include "PIC16MCAsmInfo.h"
 #include "PIC16TargetMachine.h"
 #include "llvm/PassManager.h"
 #include "llvm/CodeGen/Passes.h"
@@ -24,7 +24,7 @@ extern "C" void LLVMInitializePIC16Target() {
   // Register the target. Curretnly the codegen works for
   // enhanced pic16 mid-range.
   RegisterTargetMachine<PIC16TargetMachine> X(ThePIC16Target);
-  RegisterAsmInfo<PIC16TargetAsmInfo> A(ThePIC16Target);
+  RegisterAsmInfo<PIC16MCAsmInfo> A(ThePIC16Target);
 }
 
 
index 07d8381800a1ad0960a1a6daf61ba06b821690d6..e6dfa674261f299228f30a188db1bcad8d0c6c52 100644 (file)
@@ -25,7 +25,7 @@ MCSectionPIC16 *MCSectionPIC16::Create(const StringRef &Name,
 }
 
 
-void MCSectionPIC16::PrintSwitchToSection(const TargetAsmInfo &TAI,
+void MCSectionPIC16::PrintSwitchToSection(const MCAsmInfo &TAI,
                                           raw_ostream &OS) const {
   OS << getName() << '\n';
 }
index b56905ca139213396d15a568f9af98c0fd6deea4..3bcb1450dab1b8a017f5db43138bf66048eab9d1 100644 (file)
@@ -33,7 +33,7 @@
 #include "llvm/CodeGen/MachineInstrBuilder.h"
 #include "llvm/MC/MCSectionMachO.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetRegisterInfo.h"
 #include "llvm/Target/TargetInstrInfo.h"
@@ -87,7 +87,7 @@ namespace {
     uint64_t LabelID;
   public:
     explicit PPCAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                           const TargetAsmInfo *T, bool V)
+                           const MCAsmInfo *T, bool V)
       : AsmPrinter(O, TM, T, V),
         Subtarget(TM.getSubtarget<PPCSubtarget>()), LabelID(0) {}
 
@@ -346,7 +346,7 @@ namespace {
   class VISIBILITY_HIDDEN PPCLinuxAsmPrinter : public PPCAsmPrinter {
   public:
     explicit PPCLinuxAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                                const TargetAsmInfo *T, bool V)
+                                const MCAsmInfo *T, bool V)
       : PPCAsmPrinter(O, TM, T, V){}
 
     virtual const char *getPassName() const {
@@ -372,7 +372,7 @@ namespace {
     formatted_raw_ostream &OS;
   public:
     explicit PPCDarwinAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                                 const TargetAsmInfo *T, bool V)
+                                 const MCAsmInfo *T, bool V)
       : PPCAsmPrinter(O, TM, T, V), OS(O) {}
 
     virtual const char *getPassName() const {
@@ -1151,7 +1151,7 @@ bool PPCDarwinAsmPrinter::doFinalization(Module &M) {
 ///
 static AsmPrinter *createPPCAsmPrinterPass(formatted_raw_ostream &o,
                                            TargetMachine &tm,
-                                           const TargetAsmInfo *tai,
+                                           const MCAsmInfo *tai,
                                            bool verbose) {
   const PPCSubtarget *Subtarget = &tm.getSubtarget<PPCSubtarget>();
 
index 27a545043233ffe6a46b8d8b6f8d3d9d47012eda..0083598cf18b5f18bcde2ae00ffdc5d44b52f2d7 100644 (file)
@@ -22,7 +22,7 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 using namespace llvm;
 
 extern cl::opt<bool> EnablePPC32RS;  // FIXME (64-bit): See PPCRegisterInfo.cpp.
@@ -768,7 +768,7 @@ unsigned PPCInstrInfo::GetInstSizeInBytes(const MachineInstr *MI) const {
   case PPC::INLINEASM: {       // Inline Asm: Variable size.
     const MachineFunction *MF = MI->getParent()->getParent();
     const char *AsmStr = MI->getOperand(0).getSymbolName();
-    return getInlineAsmLength(AsmStr, *MF->getTarget().getTargetAsmInfo());
+    return getInlineAsmLength(AsmStr, *MF->getTarget().getMCAsmInfo());
   }
   case PPC::DBG_LABEL:
   case PPC::EH_LABEL:
diff --git a/lib/Target/PowerPC/PPCMCAsmInfo.cpp b/lib/Target/PowerPC/PPCMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..c9ff842
--- /dev/null
@@ -0,0 +1,58 @@
+//===-- PPCMCAsmInfo.cpp - PPC asm properties -------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the DarwinMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "PPCMCAsmInfo.h"
+using namespace llvm;
+
+PPCDarwinMCAsmInfo::PPCDarwinMCAsmInfo(bool is64Bit) {
+  PCSymbol = ".";
+  CommentString = ";";
+  ExceptionsType = ExceptionHandling::Dwarf;
+
+  if (!is64Bit)
+    Data64bitsDirective = 0;      // We can't emit a 64-bit unit in PPC32 mode.
+  AssemblerDialect = 1;           // New-Style mnemonics.
+}
+
+PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) {
+  CommentString = "#";
+  GlobalPrefix = "";
+  PrivateGlobalPrefix = ".L";
+  UsedDirective = "\t# .no_dead_strip\t";
+  WeakRefDirective = "\t.weak\t";
+  
+  // Uses '.section' before '.bss' directive
+  UsesELFSectionDirectiveForBSS = true;  
+
+  // Debug Information
+  AbsoluteDebugSectionOffsets = true;
+  SupportsDebugInformation = true;
+
+  PCSymbol = ".";
+
+  // Set up DWARF directives
+  HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
+
+  // Exceptions handling
+  if (!is64Bit)
+    ExceptionsType = ExceptionHandling::Dwarf;
+  AbsoluteEHSectionOffsets = false;
+    
+  ZeroDirective = "\t.space\t";
+  SetDirective = "\t.set";
+  Data64bitsDirective = is64Bit ? "\t.quad\t" : 0;
+  AlignmentIsInBytes = false;
+  LCOMMDirective = "\t.lcomm\t";
+  AssemblerDialect = 0;           // Old-Style mnemonics.
+}
+
diff --git a/lib/Target/PowerPC/PPCMCAsmInfo.h b/lib/Target/PowerPC/PPCMCAsmInfo.h
new file mode 100644 (file)
index 0000000..3f5118b
--- /dev/null
@@ -0,0 +1,31 @@
+//=====-- PPCMCAsmInfo.h - PPC asm properties -----------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the DarwinMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef PPCTARGETASMINFO_H
+#define PPCTARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfoDarwin.h"
+
+namespace llvm {
+
+  struct PPCDarwinMCAsmInfo : public DarwinMCAsmInfo {
+    explicit PPCDarwinMCAsmInfo(bool is64Bit);
+  };
+
+  struct PPCLinuxMCAsmInfo : public MCAsmInfo {
+    explicit PPCLinuxMCAsmInfo(bool is64Bit);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
deleted file mode 100644 (file)
index 864475b..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//===-- PPCTargetAsmInfo.cpp - PPC asm properties ---------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the DarwinTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "PPCTargetAsmInfo.h"
-using namespace llvm;
-
-PPCDarwinTargetAsmInfo::PPCDarwinTargetAsmInfo(bool is64Bit) {
-  PCSymbol = ".";
-  CommentString = ";";
-  ExceptionsType = ExceptionHandling::Dwarf;
-
-  if (!is64Bit)
-    Data64bitsDirective = 0;      // We can't emit a 64-bit unit in PPC32 mode.
-  AssemblerDialect = 1;           // New-Style mnemonics.
-}
-
-PPCLinuxTargetAsmInfo::PPCLinuxTargetAsmInfo(bool is64Bit) {
-  CommentString = "#";
-  GlobalPrefix = "";
-  PrivateGlobalPrefix = ".L";
-  UsedDirective = "\t# .no_dead_strip\t";
-  WeakRefDirective = "\t.weak\t";
-  
-  // Uses '.section' before '.bss' directive
-  UsesELFSectionDirectiveForBSS = true;  
-
-  // Debug Information
-  AbsoluteDebugSectionOffsets = true;
-  SupportsDebugInformation = true;
-
-  PCSymbol = ".";
-
-  // Set up DWARF directives
-  HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
-
-  // Exceptions handling
-  if (!is64Bit)
-    ExceptionsType = ExceptionHandling::Dwarf;
-  AbsoluteEHSectionOffsets = false;
-    
-  ZeroDirective = "\t.space\t";
-  SetDirective = "\t.set";
-  Data64bitsDirective = is64Bit ? "\t.quad\t" : 0;
-  AlignmentIsInBytes = false;
-  LCOMMDirective = "\t.lcomm\t";
-  AssemblerDialect = 0;           // Old-Style mnemonics.
-}
-
diff --git a/lib/Target/PowerPC/PPCTargetAsmInfo.h b/lib/Target/PowerPC/PPCTargetAsmInfo.h
deleted file mode 100644 (file)
index c7f8862..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//=====-- PPCTargetAsmInfo.h - PPC asm properties -------------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the DarwinTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef PPCTARGETASMINFO_H
-#define PPCTARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-#include "llvm/Target/DarwinTargetAsmInfo.h"
-
-namespace llvm {
-
-  struct PPCDarwinTargetAsmInfo : public DarwinTargetAsmInfo {
-    explicit PPCDarwinTargetAsmInfo(bool is64Bit);
-  };
-
-  struct PPCLinuxTargetAsmInfo : public TargetAsmInfo {
-    explicit PPCLinuxTargetAsmInfo(bool is64Bit);
-  };
-
-} // namespace llvm
-
-#endif
index 41f4699fc061d4f7cf778107fdec53e8db02a25f..de3a3d0b70d4175d16bf582c72564cd9b13478fd 100644 (file)
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "PPC.h"
-#include "PPCTargetAsmInfo.h"
+#include "PPCMCAsmInfo.h"
 #include "PPCTargetMachine.h"
 #include "llvm/PassManager.h"
 #include "llvm/Target/TargetOptions.h"
 #include "llvm/Support/FormattedStream.h"
 using namespace llvm;
 
-static const TargetAsmInfo *createTargetAsmInfo(const Target &T,
+static const MCAsmInfo *createMCAsmInfo(const Target &T,
                                                 const StringRef &TT) {
   Triple TheTriple(TT);
   bool isPPC64 = TheTriple.getArch() == Triple::ppc64;
   if (TheTriple.getOS() == Triple::Darwin)
-    return new PPCDarwinTargetAsmInfo(isPPC64);
-  return new PPCLinuxTargetAsmInfo(isPPC64);
+    return new PPCDarwinMCAsmInfo(isPPC64);
+  return new PPCLinuxMCAsmInfo(isPPC64);
   
 }
 
@@ -35,8 +35,8 @@ extern "C" void LLVMInitializePowerPCTarget() {
   RegisterTargetMachine<PPC32TargetMachine> A(ThePPC32Target);  
   RegisterTargetMachine<PPC64TargetMachine> B(ThePPC64Target);
   
-  RegisterAsmInfoFn C(ThePPC32Target, createTargetAsmInfo);
-  RegisterAsmInfoFn D(ThePPC64Target, createTargetAsmInfo);
+  RegisterAsmInfoFn C(ThePPC32Target, createMCAsmInfo);
+  RegisterAsmInfoFn D(ThePPC64Target, createMCAsmInfo);
 }
 
 
index d39b6efa3e3b144007eb156ec47d534d8c167aa3..663315e2ebc2cbbb79072715f696189026d3efd4 100644 (file)
@@ -25,7 +25,7 @@
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetRegistry.h"
 #include "llvm/ADT/Statistic.h"
@@ -53,7 +53,7 @@ namespace {
     unsigned BBNumber;
   public:
     explicit SparcAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                             const TargetAsmInfo *T, bool V)
+                             const MCAsmInfo *T, bool V)
       : AsmPrinter(O, TM, T, V), BBNumber(0) {}
 
     virtual const char *getPassName() const {
diff --git a/lib/Target/Sparc/SparcMCAsmInfo.cpp b/lib/Target/Sparc/SparcMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..e9d1c38
--- /dev/null
@@ -0,0 +1,29 @@
+//===-- SparcMCAsmInfo.cpp - Sparc asm properties -------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the SparcMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "SparcMCAsmInfo.h"
+#include "llvm/ADT/SmallVector.h"
+using namespace llvm;
+
+SparcELFMCAsmInfo::SparcELFMCAsmInfo(const Target &T, const StringRef &TT) {
+  Data16bitsDirective = "\t.half\t";
+  Data32bitsDirective = "\t.word\t";
+  Data64bitsDirective = 0;  // .xword is only supported by V9.
+  ZeroDirective = "\t.skip\t";
+  CommentString = "!";
+  COMMDirectiveTakesAlignment = true;
+  
+  SunStyleELFSectionSwitchSyntax = true;
+}
+
+
diff --git a/lib/Target/Sparc/SparcMCAsmInfo.h b/lib/Target/Sparc/SparcMCAsmInfo.h
new file mode 100644 (file)
index 0000000..12d6ef4
--- /dev/null
@@ -0,0 +1,28 @@
+//=====-- SparcMCAsmInfo.h - Sparc asm properties -------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the SparcMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SPARCTARGETASMINFO_H
+#define SPARCTARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+  struct SparcELFMCAsmInfo : public MCAsmInfo {
+    explicit SparcELFMCAsmInfo(const Target &T, const StringRef &TT);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/Sparc/SparcTargetAsmInfo.cpp b/lib/Target/Sparc/SparcTargetAsmInfo.cpp
deleted file mode 100644 (file)
index 1794ebc..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-//===-- SparcTargetAsmInfo.cpp - Sparc asm properties ---------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the SparcTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "SparcTargetAsmInfo.h"
-#include "llvm/ADT/SmallVector.h"
-using namespace llvm;
-
-SparcELFTargetAsmInfo::SparcELFTargetAsmInfo(const Target &T,
-                                             const StringRef &TT) {
-  Data16bitsDirective = "\t.half\t";
-  Data32bitsDirective = "\t.word\t";
-  Data64bitsDirective = 0;  // .xword is only supported by V9.
-  ZeroDirective = "\t.skip\t";
-  CommentString = "!";
-  COMMDirectiveTakesAlignment = true;
-  
-  SunStyleELFSectionSwitchSyntax = true;
-}
-
-
diff --git a/lib/Target/Sparc/SparcTargetAsmInfo.h b/lib/Target/Sparc/SparcTargetAsmInfo.h
deleted file mode 100644 (file)
index edf8146..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-//=====-- SparcTargetAsmInfo.h - Sparc asm properties ---------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the SparcTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SPARCTARGETASMINFO_H
-#define SPARCTARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-  struct SparcELFTargetAsmInfo : public TargetAsmInfo {
-    explicit SparcELFTargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-
-} // namespace llvm
-
-#endif
index 505e2b11d59f73bfb5aa186dedd64e42c6ca64a6..3a381151f946e005c521a41a2daf68accaa01461 100644 (file)
@@ -10,7 +10,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "SparcTargetAsmInfo.h"
+#include "SparcMCAsmInfo.h"
 #include "SparcTargetMachine.h"
 #include "Sparc.h"
 #include "llvm/PassManager.h"
@@ -20,7 +20,7 @@ using namespace llvm;
 extern "C" void LLVMInitializeSparcTarget() {
   // Register the target.
   RegisterTargetMachine<SparcTargetMachine> X(TheSparcTarget);
-  RegisterAsmInfo<SparcELFTargetAsmInfo> Y(TheSparcTarget);
+  RegisterAsmInfo<SparcELFMCAsmInfo> Y(TheSparcTarget);
 
 }
 
index ae0dce0d67a27fb7bbb2e09b48d8941682d38abc..ecfc5bd54a489a2c012fc38744d5766537430249 100644 (file)
@@ -27,7 +27,7 @@
 #include "llvm/CodeGen/MachineConstantPool.h"
 #include "llvm/CodeGen/MachineInstr.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetRegistry.h"
@@ -44,7 +44,7 @@ namespace {
   class VISIBILITY_HIDDEN SystemZAsmPrinter : public AsmPrinter {
   public:
     SystemZAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                      const TargetAsmInfo *TAI, bool V)
+                      const MCAsmInfo *TAI, bool V)
       : AsmPrinter(O, TM, TAI, V) {}
 
     virtual const char *getPassName() const {
diff --git a/lib/Target/SystemZ/SystemZMCAsmInfo.cpp b/lib/Target/SystemZ/SystemZMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..8ea11c9
--- /dev/null
@@ -0,0 +1,26 @@
+//===-- SystemZMCAsmInfo.cpp - SystemZ asm properties ---------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the SystemZMCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "SystemZMCAsmInfo.h"
+using namespace llvm;
+
+SystemZMCAsmInfo::SystemZMCAsmInfo(const Target &T, const StringRef &TT) {
+  AlignmentIsInBytes = true;
+
+  PrivateGlobalPrefix = ".L";
+  WeakRefDirective = "\t.weak\t";
+  SetDirective = "\t.set\t";
+  PCSymbol = ".";
+
+  NonexecutableStackDirective = "\t.section\t.note.GNU-stack,\"\",@progbits";
+}
diff --git a/lib/Target/SystemZ/SystemZMCAsmInfo.h b/lib/Target/SystemZ/SystemZMCAsmInfo.h
new file mode 100644 (file)
index 0000000..3bebcb7
--- /dev/null
@@ -0,0 +1,29 @@
+//====-- SystemZMCAsmInfo.h - SystemZ asm properties -----------*- C++ -*--===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the SystemZMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SystemZTARGETASMINFO_H
+#define SystemZTARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+
+  struct SystemZMCAsmInfo : public MCAsmInfo {
+    explicit SystemZMCAsmInfo(const Target &T, const StringRef &TT);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/SystemZ/SystemZTargetAsmInfo.cpp b/lib/Target/SystemZ/SystemZTargetAsmInfo.cpp
deleted file mode 100644 (file)
index fc10212..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-//===-- SystemZTargetAsmInfo.cpp - SystemZ asm properties -----------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the SystemZTargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "SystemZTargetAsmInfo.h"
-using namespace llvm;
-
-SystemZTargetAsmInfo::SystemZTargetAsmInfo(const Target &T,
-                                           const StringRef &TT) {
-  AlignmentIsInBytes = true;
-
-  PrivateGlobalPrefix = ".L";
-  WeakRefDirective = "\t.weak\t";
-  SetDirective = "\t.set\t";
-  PCSymbol = ".";
-
-  NonexecutableStackDirective = "\t.section\t.note.GNU-stack,\"\",@progbits";
-}
diff --git a/lib/Target/SystemZ/SystemZTargetAsmInfo.h b/lib/Target/SystemZ/SystemZTargetAsmInfo.h
deleted file mode 100644 (file)
index 72345c8..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//====-- SystemZTargetAsmInfo.h - SystemZ asm properties -------*- C++ -*--===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the SystemZTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SystemZTARGETASMINFO_H
-#define SystemZTARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-
-  struct SystemZTargetAsmInfo : public TargetAsmInfo {
-    explicit SystemZTargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-
-} // namespace llvm
-
-#endif
index 48ea5f5ebd706ca76eed79cf21b20c8b5e2fbb49..990e0031c5ec974aa2d00a9f127e0933d4909a4f 100644 (file)
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "SystemZTargetAsmInfo.h"
+#include "SystemZMCAsmInfo.h"
 #include "SystemZTargetMachine.h"
 #include "SystemZ.h"
 #include "llvm/PassManager.h"
@@ -17,7 +17,7 @@ using namespace llvm;
 extern "C" void LLVMInitializeSystemZTarget() {
   // Register the target.
   RegisterTargetMachine<SystemZTargetMachine> X(TheSystemZTarget);
-  RegisterAsmInfo<SystemZTargetAsmInfo> Y(TheSystemZTarget);
+  RegisterAsmInfo<SystemZMCAsmInfo> Y(TheSystemZTarget);
 }
 
 /// SystemZTargetMachine ctor - Create an ILP64 architecture model
index 20a584916f7a04d6f9f3161ce11583832984f893..c38bf703ec24b889c44f0c4236f9c603038c16a8 100644 (file)
@@ -1,4 +1,4 @@
-//===-- TargetAsmInfo.cpp - Asm Info ---------------------------------------==//
+//===-- MCAsmInfo.cpp - Asm Info -------------------------------------------==//
 //
 //                     The LLVM Compiler Infrastructure
 //
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include <cctype>
 #include <cstring>
 using namespace llvm;
 
-TargetAsmInfo::TargetAsmInfo() {
+MCAsmInfo::MCAsmInfo() {
   ZeroFillDirective = 0;
   NonexecutableStackDirective = 0;
   NeedsSet = false;
@@ -85,11 +85,11 @@ TargetAsmInfo::TargetAsmInfo() {
   AsmTransCBE = 0;
 }
 
-TargetAsmInfo::~TargetAsmInfo() {
+MCAsmInfo::~MCAsmInfo() {
 }
 
 
-unsigned TargetAsmInfo::getULEB128Size(unsigned Value) {
+unsigned MCAsmInfo::getULEB128Size(unsigned Value) {
   unsigned Size = 0;
   do {
     Value >>= 7;
@@ -98,7 +98,7 @@ unsigned TargetAsmInfo::getULEB128Size(unsigned Value) {
   return Size;
 }
 
-unsigned TargetAsmInfo::getSLEB128Size(int Value) {
+unsigned MCAsmInfo::getSLEB128Size(int Value) {
   unsigned Size = 0;
   int Sign = Value >> (8 * sizeof(Value) - 1);
   bool IsMore;
index c3e6f4326e0671ca44013a0a25de68202f8e0e0c..af8ef6ec1feaf09dbab31d1dd2363d4483b78af5 100644 (file)
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Target/TargetInstrInfo.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetRegisterInfo.h"
 #include "llvm/Support/ErrorHandling.h"
 using namespace llvm;
@@ -73,7 +73,7 @@ bool TargetInstrInfo::isUnpredicatedTerminator(const MachineInstr *MI) const {
 /// Variable-length instructions are not handled here; this function
 /// may be overloaded in the target code to do that.
 unsigned TargetInstrInfo::getInlineAsmLength(const char *Str,
-                                             const TargetAsmInfo &TAI) const {
+                                             const MCAsmInfo &TAI) const {
   
   
   // Count the number of instructions in the asm.
index b94fa68be92cda64f1bba5c348cec0016039edf1..fdf157a1e610baffd626ce8947c3da5631521cf7 100644 (file)
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetOptions.h"
 #include "llvm/Support/CommandLine.h"
index 5701c7cfef61de4df2689782b76aa19fe4f860b9..ca3d52842426eaad0c1baa27d5a85cf1fd3d81cb 100644 (file)
@@ -19,7 +19,7 @@
 #include "X86COFF.h"
 #include "X86MachineFunctionInfo.h"
 #include "X86TargetMachine.h"
-#include "X86TargetAsmInfo.h"
+#include "X86MCAsmInfo.h"
 #include "llvm/CallingConv.h"
 #include "llvm/DerivedTypes.h"
 #include "llvm/Module.h"
@@ -37,7 +37,7 @@
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FormattedStream.h"
 #include "llvm/Support/Mangler.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetOptions.h"
 using namespace llvm;
index a4c8f13958d06870c48c832d6e3e7da00a764721..ef8ba6c14d43040820968686f31e717f070063de 100644 (file)
@@ -37,7 +37,7 @@ class VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter {
   const X86Subtarget *Subtarget;
  public:
   explicit X86ATTAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                            const TargetAsmInfo *T, bool V)
+                            const MCAsmInfo *T, bool V)
     : AsmPrinter(O, TM, T, V) {
     Subtarget = &TM.getSubtarget<X86Subtarget>();
   }
index 52950aa323b4afdafebbcc90fe086997c4ac89da..ff87960d27d917f55645b686c0e4f0dd9186a67b 100644 (file)
@@ -15,7 +15,7 @@
 #define DEBUG_TYPE "asm-printer"
 #include "llvm/MC/MCInst.h"
 #include "X86ATTAsmPrinter.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FormattedStream.h"
 using namespace llvm;
index 2e769a4d95ef41cda2170b08ec4ecba07d3acee0..3ca35c50da94fa9c42a8b6ba9b8aa5520237fbb8 100644 (file)
@@ -17,7 +17,7 @@
 #include "X86.h"
 #include "X86ATTAsmPrinter.h"
 #include "X86IntelAsmPrinter.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetRegistry.h"
 using namespace llvm;
 
@@ -27,9 +27,9 @@ using namespace llvm;
 ///
 static AsmPrinter *createX86CodePrinterPass(formatted_raw_ostream &o,
                                             TargetMachine &tm,
-                                            const TargetAsmInfo *tai,
+                                            const MCAsmInfo *tai,
                                             bool verbose) {
-  if (tm.getTargetAsmInfo()->getAssemblerDialect() == 1)
+  if (tm.getMCAsmInfo()->getAssemblerDialect() == 1)
     return new X86IntelAsmPrinter(o, tm, tai, verbose);
   return new X86ATTAsmPrinter(o, tm, tai, verbose);
 }
index 141512e64c3a467c46a85b618ca29e5070824122..17182c37faf009875035a19f21a7e766473790af 100644 (file)
@@ -16,7 +16,7 @@
 #define DEBUG_TYPE "asm-printer"
 #include "X86IntelAsmPrinter.h"
 #include "X86InstrInfo.h"
-#include "X86TargetAsmInfo.h"
+#include "X86MCAsmInfo.h"
 #include "X86.h"
 #include "llvm/CallingConv.h"
 #include "llvm/Constants.h"
@@ -27,7 +27,7 @@
 #include "llvm/Assembly/Writer.h"
 #include "llvm/CodeGen/DwarfWriter.h"
 #include "llvm/MC/MCStreamer.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
 #include "llvm/Target/TargetOptions.h"
 #include "llvm/Support/ErrorHandling.h"
index c7c5df208902192897a032671fc27420e5df1adc..379e4e7269bfbe9c33379e0dc7cd53334a5d7f42 100644 (file)
@@ -26,7 +26,7 @@ namespace llvm {
 
 struct VISIBILITY_HIDDEN X86IntelAsmPrinter : public AsmPrinter {
   explicit X86IntelAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                              const TargetAsmInfo *T, bool V)
+                              const MCAsmInfo *T, bool V)
     : AsmPrinter(O, TM, T, V) {}
 
   virtual const char *getPassName() const {
index b55267dce855495100c1ad76cdf4181079844799..c2c34ee9071a77d4827f3d582912370aae894294 100644 (file)
@@ -31,7 +31,7 @@
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Target/TargetOptions.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 using namespace llvm;
 
 namespace {
@@ -2993,7 +2993,7 @@ static unsigned GetInstSizeWithDesc(const MachineInstr &MI,
       const MachineFunction *MF = MI.getParent()->getParent();
       const TargetInstrInfo &TII = *MF->getTarget().getInstrInfo();
       FinalSize += TII.getInlineAsmLength(MI.getOperand(0).getSymbolName(),
-                                          *MF->getTarget().getTargetAsmInfo());
+                                          *MF->getTarget().getMCAsmInfo());
       break;
     }
     case TargetInstrInfo::DBG_LABEL:
diff --git a/lib/Target/X86/X86MCAsmInfo.cpp b/lib/Target/X86/X86MCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..9393fb8
--- /dev/null
@@ -0,0 +1,131 @@
+//===-- X86MCAsmInfo.cpp - X86 asm properties -----------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declarations of the X86MCAsmInfo properties.
+//
+//===----------------------------------------------------------------------===//
+
+#include "X86MCAsmInfo.h"
+#include "X86TargetMachine.h"
+#include "llvm/ADT/Triple.h"
+#include "llvm/Support/CommandLine.h"
+using namespace llvm;
+
+enum AsmWriterFlavorTy {
+  // Note: This numbering has to match the GCC assembler dialects for inline
+  // asm alternatives to work right.
+  ATT = 0, Intel = 1
+};
+
+static cl::opt<AsmWriterFlavorTy>
+AsmWriterFlavor("x86-asm-syntax", cl::init(ATT),
+  cl::desc("Choose style of code to emit from X86 backend:"),
+  cl::values(clEnumValN(ATT,   "att",   "Emit AT&T-style assembly"),
+             clEnumValN(Intel, "intel", "Emit Intel-style assembly"),
+             clEnumValEnd));
+
+
+static const char *const x86_asm_table[] = {
+  "{si}", "S",
+  "{di}", "D",
+  "{ax}", "a",
+  "{cx}", "c",
+  "{memory}", "memory",
+  "{flags}", "",
+  "{dirflag}", "",
+  "{fpsr}", "",
+  "{cc}", "cc",
+  0,0};
+
+X86DarwinMCAsmInfo::X86DarwinMCAsmInfo(const Triple &Triple) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = AsmWriterFlavor;
+    
+  bool is64Bit = Triple.getArch() == Triple::x86_64;
+
+  TextAlignFillValue = 0x90;
+
+  if (!is64Bit)
+    Data64bitsDirective = 0;       // we can't emit a 64-bit unit
+
+  // Leopard and above support aligned common symbols.
+  COMMDirectiveTakesAlignment = Triple.getDarwinMajorNumber() >= 9;
+
+  if (is64Bit) {
+    PersonalityPrefix = "";
+    PersonalitySuffix = "+4@GOTPCREL";
+  } else {
+    PersonalityPrefix = "L";
+    PersonalitySuffix = "$non_lazy_ptr";
+  }
+
+  CommentString = "##";
+  PCSymbol = ".";
+
+  SupportsDebugInformation = true;
+  DwarfUsesInlineInfoSection = true;
+
+  // Exceptions handling
+  ExceptionsType = ExceptionHandling::Dwarf;
+  AbsoluteEHSectionOffsets = false;
+}
+
+X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = AsmWriterFlavor;
+
+  PrivateGlobalPrefix = ".L";
+  WeakRefDirective = "\t.weak\t";
+  SetDirective = "\t.set\t";
+  PCSymbol = ".";
+
+  // Set up DWARF directives
+  HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
+
+  // Debug Information
+  AbsoluteDebugSectionOffsets = true;
+  SupportsDebugInformation = true;
+
+  // Exceptions handling
+  ExceptionsType = ExceptionHandling::Dwarf;
+  AbsoluteEHSectionOffsets = false;
+
+  // On Linux we must declare when we can use a non-executable stack.
+  if (Triple.getOS() == Triple::Linux)
+    NonexecutableStackDirective = "\t.section\t.note.GNU-stack,\"\",@progbits";
+}
+
+X86COFFMCAsmInfo::X86COFFMCAsmInfo(const Triple &Triple) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = AsmWriterFlavor;
+}
+
+
+X86WinMCAsmInfo::X86WinMCAsmInfo(const Triple &Triple) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = AsmWriterFlavor;
+
+  GlobalPrefix = "_";
+  CommentString = ";";
+
+  PrivateGlobalPrefix = "$";
+  AlignDirective = "\tALIGN\t";
+  ZeroDirective = "\tdb\t";
+  ZeroDirectiveSuffix = " dup(0)";
+  AsciiDirective = "\tdb\t";
+  AscizDirective = 0;
+  Data8bitsDirective = "\tdb\t";
+  Data16bitsDirective = "\tdw\t";
+  Data32bitsDirective = "\tdd\t";
+  Data64bitsDirective = "\tdq\t";
+  HasDotTypeDotSizeDirective = false;
+  HasSingleParameterDotFile = false;
+
+  AlignmentIsInBytes = true;
+}
diff --git a/lib/Target/X86/X86MCAsmInfo.h b/lib/Target/X86/X86MCAsmInfo.h
new file mode 100644 (file)
index 0000000..7c1bfac
--- /dev/null
@@ -0,0 +1,42 @@
+//=====-- X86MCAsmInfo.h - X86 asm properties -----------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the X86MCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef X86TARGETASMINFO_H
+#define X86TARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+#include "llvm/MC/MCAsmInfoCOFF.h"
+#include "llvm/MC/MCAsmInfoDarwin.h"
+
+namespace llvm {
+  class Triple;
+
+  struct X86DarwinMCAsmInfo : public DarwinMCAsmInfo {
+    explicit X86DarwinMCAsmInfo(const Triple &Triple);
+  };
+
+  struct X86ELFMCAsmInfo : public MCAsmInfo {
+    explicit X86ELFMCAsmInfo(const Triple &Triple);
+  };
+
+  struct X86COFFMCAsmInfo : public COFFMCAsmInfo {
+    explicit X86COFFMCAsmInfo(const Triple &Triple);
+  };
+
+  struct X86WinMCAsmInfo : public MCAsmInfo {
+    explicit X86WinMCAsmInfo(const Triple &Triple);
+  };
+
+} // namespace llvm
+
+#endif
index 112ff1ce24de4c386fd7ef34965d3a72033f5025..5d1ee17c37a4472bb80ce836454d576d0083b31e 100644 (file)
@@ -30,7 +30,7 @@
 #include "llvm/CodeGen/MachineLocation.h"
 #include "llvm/CodeGen/MachineModuleInfo.h"
 #include "llvm/CodeGen/MachineRegisterInfo.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetFrameInfo.h"
 #include "llvm/Target/TargetInstrInfo.h"
 #include "llvm/Target/TargetMachine.h"
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
deleted file mode 100644 (file)
index d978eb1..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-//===-- X86TargetAsmInfo.cpp - X86 asm properties ---------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declarations of the X86TargetAsmInfo properties.
-//
-//===----------------------------------------------------------------------===//
-
-#include "X86TargetAsmInfo.h"
-#include "X86TargetMachine.h"
-#include "llvm/ADT/Triple.h"
-#include "llvm/Support/CommandLine.h"
-using namespace llvm;
-
-enum AsmWriterFlavorTy {
-  // Note: This numbering has to match the GCC assembler dialects for inline
-  // asm alternatives to work right.
-  ATT = 0, Intel = 1
-};
-
-static cl::opt<AsmWriterFlavorTy>
-AsmWriterFlavor("x86-asm-syntax", cl::init(ATT),
-  cl::desc("Choose style of code to emit from X86 backend:"),
-  cl::values(clEnumValN(ATT,   "att",   "Emit AT&T-style assembly"),
-             clEnumValN(Intel, "intel", "Emit Intel-style assembly"),
-             clEnumValEnd));
-
-
-static const char *const x86_asm_table[] = {
-  "{si}", "S",
-  "{di}", "D",
-  "{ax}", "a",
-  "{cx}", "c",
-  "{memory}", "memory",
-  "{flags}", "",
-  "{dirflag}", "",
-  "{fpsr}", "",
-  "{cc}", "cc",
-  0,0};
-
-X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const Triple &Triple) {
-  AsmTransCBE = x86_asm_table;
-  AssemblerDialect = AsmWriterFlavor;
-    
-  bool is64Bit = Triple.getArch() == Triple::x86_64;
-
-  TextAlignFillValue = 0x90;
-
-  if (!is64Bit)
-    Data64bitsDirective = 0;       // we can't emit a 64-bit unit
-
-  // Leopard and above support aligned common symbols.
-  COMMDirectiveTakesAlignment = Triple.getDarwinMajorNumber() >= 9;
-
-  if (is64Bit) {
-    PersonalityPrefix = "";
-    PersonalitySuffix = "+4@GOTPCREL";
-  } else {
-    PersonalityPrefix = "L";
-    PersonalitySuffix = "$non_lazy_ptr";
-  }
-
-  CommentString = "##";
-  PCSymbol = ".";
-
-  SupportsDebugInformation = true;
-  DwarfUsesInlineInfoSection = true;
-
-  // Exceptions handling
-  ExceptionsType = ExceptionHandling::Dwarf;
-  AbsoluteEHSectionOffsets = false;
-}
-
-X86ELFTargetAsmInfo::X86ELFTargetAsmInfo(const Triple &Triple) {
-  AsmTransCBE = x86_asm_table;
-  AssemblerDialect = AsmWriterFlavor;
-
-  PrivateGlobalPrefix = ".L";
-  WeakRefDirective = "\t.weak\t";
-  SetDirective = "\t.set\t";
-  PCSymbol = ".";
-
-  // Set up DWARF directives
-  HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
-
-  // Debug Information
-  AbsoluteDebugSectionOffsets = true;
-  SupportsDebugInformation = true;
-
-  // Exceptions handling
-  ExceptionsType = ExceptionHandling::Dwarf;
-  AbsoluteEHSectionOffsets = false;
-
-  // On Linux we must declare when we can use a non-executable stack.
-  if (Triple.getOS() == Triple::Linux)
-    NonexecutableStackDirective = "\t.section\t.note.GNU-stack,\"\",@progbits";
-}
-
-X86COFFTargetAsmInfo::X86COFFTargetAsmInfo(const Triple &Triple) {
-  AsmTransCBE = x86_asm_table;
-  AssemblerDialect = AsmWriterFlavor;
-}
-
-
-X86WinTargetAsmInfo::X86WinTargetAsmInfo(const Triple &Triple) {
-  AsmTransCBE = x86_asm_table;
-  AssemblerDialect = AsmWriterFlavor;
-
-  GlobalPrefix = "_";
-  CommentString = ";";
-
-  PrivateGlobalPrefix = "$";
-  AlignDirective = "\tALIGN\t";
-  ZeroDirective = "\tdb\t";
-  ZeroDirectiveSuffix = " dup(0)";
-  AsciiDirective = "\tdb\t";
-  AscizDirective = 0;
-  Data8bitsDirective = "\tdb\t";
-  Data16bitsDirective = "\tdw\t";
-  Data32bitsDirective = "\tdd\t";
-  Data64bitsDirective = "\tdq\t";
-  HasDotTypeDotSizeDirective = false;
-  HasSingleParameterDotFile = false;
-
-  AlignmentIsInBytes = true;
-}
diff --git a/lib/Target/X86/X86TargetAsmInfo.h b/lib/Target/X86/X86TargetAsmInfo.h
deleted file mode 100644 (file)
index 91de368..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//=====-- X86TargetAsmInfo.h - X86 asm properties -------------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the X86TargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef X86TARGETASMINFO_H
-#define X86TARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-#include "llvm/Target/COFFTargetAsmInfo.h"
-#include "llvm/Target/DarwinTargetAsmInfo.h"
-
-namespace llvm {
-  class Triple;
-
-  struct X86DarwinTargetAsmInfo : public DarwinTargetAsmInfo {
-    explicit X86DarwinTargetAsmInfo(const Triple &Triple);
-  };
-
-  struct X86ELFTargetAsmInfo : public TargetAsmInfo {
-    explicit X86ELFTargetAsmInfo(const Triple &Triple);
-  };
-
-  struct X86COFFTargetAsmInfo : public COFFTargetAsmInfo {
-    explicit X86COFFTargetAsmInfo(const Triple &Triple);
-  };
-
-  struct X86WinTargetAsmInfo : public TargetAsmInfo {
-    explicit X86WinTargetAsmInfo(const Triple &Triple);
-  };
-
-} // namespace llvm
-
-#endif
index 8c4e5d02bec36d1cc571820d29a9e0dfc792edc2..689cebd57b0df1e5c619f6b90247d7f98ca77ce0 100644 (file)
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "X86TargetAsmInfo.h"
+#include "X86MCAsmInfo.h"
 #include "X86TargetMachine.h"
 #include "X86.h"
 #include "llvm/PassManager.h"
 #include "llvm/Target/TargetRegistry.h"
 using namespace llvm;
 
-static const TargetAsmInfo *createTargetAsmInfo(const Target &T,
+static const MCAsmInfo *createMCAsmInfo(const Target &T,
                                                 const StringRef &TT) {
   Triple TheTriple(TT);
   switch (TheTriple.getOS()) {
   case Triple::Darwin:
-    return new X86DarwinTargetAsmInfo(TheTriple);
+    return new X86DarwinMCAsmInfo(TheTriple);
   case Triple::MinGW32:
   case Triple::MinGW64:
   case Triple::Cygwin:
-    return new X86COFFTargetAsmInfo(TheTriple);
+    return new X86COFFMCAsmInfo(TheTriple);
   case Triple::Win32:
-    return new X86WinTargetAsmInfo(TheTriple);
+    return new X86WinMCAsmInfo(TheTriple);
   default:
-    return new X86ELFTargetAsmInfo(TheTriple);
+    return new X86ELFMCAsmInfo(TheTriple);
   }
 }
 
@@ -45,8 +45,8 @@ extern "C" void LLVMInitializeX86Target() {
   RegisterTargetMachine<X86_64TargetMachine> Y(TheX86_64Target);
 
   // Register the target asm info.
-  RegisterAsmInfoFn A(TheX86_32Target, createTargetAsmInfo);
-  RegisterAsmInfoFn B(TheX86_64Target, createTargetAsmInfo);
+  RegisterAsmInfoFn A(TheX86_32Target, createMCAsmInfo);
+  RegisterAsmInfoFn B(TheX86_64Target, createMCAsmInfo);
 }
 
 
index 88473495d1314ca819c9ad80d0f57960174aa198..bf32d697846a998d34a3684e68b154aaa414ce2f 100644 (file)
@@ -16,7 +16,7 @@
 #include "XCore.h"
 #include "XCoreInstrInfo.h"
 #include "XCoreSubtarget.h"
-#include "XCoreTargetAsmInfo.h"
+#include "XCoreMCAsmInfo.h"
 #include "XCoreTargetMachine.h"
 #include "llvm/Constants.h"
 #include "llvm/DerivedTypes.h"
@@ -56,7 +56,7 @@ namespace {
     const XCoreSubtarget &Subtarget;
   public:
     explicit XCoreAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
-                             const TargetAsmInfo *T, bool V)
+                             const MCAsmInfo *T, bool V)
       : AsmPrinter(O, TM, T, V), DW(0),
       Subtarget(TM.getSubtarget<XCoreSubtarget>()) {}
 
index d2bb9e47d8ae83cda9ed1f26a96aaea6123cf844..a40f0326a58fd26875cd63d16b536a84d6292bb7 100644 (file)
@@ -26,7 +26,7 @@ MCSectionXCore::Create(const StringRef &Section, unsigned Type,
 
 /// PrintTargetSpecificSectionFlags - This handles the XCore-specific cp/dp
 /// section flags.
-void MCSectionXCore::PrintTargetSpecificSectionFlags(const TargetAsmInfo &TAI,
+void MCSectionXCore::PrintTargetSpecificSectionFlags(const MCAsmInfo &TAI,
                                                      raw_ostream &OS) const {
   if (getFlags() & MCSectionXCore::SHF_CP_SECTION)
     OS << 'c';
index e2e55bdaa62aa522bf27f8e21e298553ccf3b3ef..7396f4e4c150f051f5155ada9757a95a01a2b76e 100644 (file)
@@ -44,7 +44,7 @@ public:
   
   /// PrintTargetSpecificSectionFlags - This handles the XCore-specific cp/dp
   /// section flags.
-  virtual void PrintTargetSpecificSectionFlags(const TargetAsmInfo &TAI,
+  virtual void PrintTargetSpecificSectionFlags(const MCAsmInfo &TAI,
                                                raw_ostream &OS) const;
 
 };
diff --git a/lib/Target/XCore/XCoreMCAsmInfo.cpp b/lib/Target/XCore/XCoreMCAsmInfo.cpp
new file mode 100644 (file)
index 0000000..dffdda9
--- /dev/null
@@ -0,0 +1,31 @@
+//===-- XCoreMCAsmInfo.cpp - XCore asm properties -------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "XCoreMCAsmInfo.h"
+using namespace llvm;
+
+XCoreMCAsmInfo::XCoreMCAsmInfo(const Target &T, const StringRef &TT) {
+  SupportsDebugInformation = true;
+  Data16bitsDirective = "\t.short\t";
+  Data32bitsDirective = "\t.long\t";
+  Data64bitsDirective = 0;
+  ZeroDirective = "\t.space\t";
+  CommentString = "#";
+    
+  PrivateGlobalPrefix = ".L";
+  AscizDirective = ".asciiz";
+  WeakDefDirective = "\t.weak\t";
+  WeakRefDirective = "\t.weak\t";
+  SetDirective = "\t.set\t";
+
+  // Debug
+  HasLEB128 = true;
+  AbsoluteDebugSectionOffsets = true;
+}
+
diff --git a/lib/Target/XCore/XCoreMCAsmInfo.h b/lib/Target/XCore/XCoreMCAsmInfo.h
new file mode 100644 (file)
index 0000000..01f8e48
--- /dev/null
@@ -0,0 +1,29 @@
+//=====-- XCoreMCAsmInfo.h - XCore asm properties -------------*- C++ -*--====//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains the declaration of the XCoreMCAsmInfo class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef XCORETARGETASMINFO_H
+#define XCORETARGETASMINFO_H
+
+#include "llvm/MC/MCAsmInfo.h"
+
+namespace llvm {
+  class Target;
+  class StringRef;
+  class XCoreMCAsmInfo : public MCAsmInfo {
+  public:
+    explicit XCoreMCAsmInfo(const Target &T, const StringRef &TT);
+  };
+
+} // namespace llvm
+
+#endif
diff --git a/lib/Target/XCore/XCoreTargetAsmInfo.cpp b/lib/Target/XCore/XCoreTargetAsmInfo.cpp
deleted file mode 100644 (file)
index 9cd87a5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-//===-- XCoreTargetAsmInfo.cpp - XCore asm properties ---------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "XCoreTargetAsmInfo.h"
-using namespace llvm;
-
-XCoreTargetAsmInfo::XCoreTargetAsmInfo(const Target &T, const StringRef &TT) {
-  SupportsDebugInformation = true;
-  Data16bitsDirective = "\t.short\t";
-  Data32bitsDirective = "\t.long\t";
-  Data64bitsDirective = 0;
-  ZeroDirective = "\t.space\t";
-  CommentString = "#";
-    
-  PrivateGlobalPrefix = ".L";
-  AscizDirective = ".asciiz";
-  WeakDefDirective = "\t.weak\t";
-  WeakRefDirective = "\t.weak\t";
-  SetDirective = "\t.set\t";
-
-  // Debug
-  HasLEB128 = true;
-  AbsoluteDebugSectionOffsets = true;
-}
-
diff --git a/lib/Target/XCore/XCoreTargetAsmInfo.h b/lib/Target/XCore/XCoreTargetAsmInfo.h
deleted file mode 100644 (file)
index 7842886..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//=====-- XCoreTargetAsmInfo.h - XCore asm properties ---------*- C++ -*--====//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains the declaration of the XCoreTargetAsmInfo class.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef XCORETARGETASMINFO_H
-#define XCORETARGETASMINFO_H
-
-#include "llvm/Target/TargetAsmInfo.h"
-
-namespace llvm {
-  class Target;
-  class StringRef;
-  class XCoreTargetAsmInfo : public TargetAsmInfo {
-  public:
-    explicit XCoreTargetAsmInfo(const Target &T, const StringRef &TT);
-  };
-
-} // namespace llvm
-
-#endif
index b1afc7e61aee4e5a64bfca1450c330916baf4e65..75f2055ebf9f36fe5d0205b2e76453ac1743ecfb 100644 (file)
@@ -10,7 +10,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "XCoreTargetAsmInfo.h"
+#include "XCoreMCAsmInfo.h"
 #include "XCoreTargetMachine.h"
 #include "XCore.h"
 #include "llvm/Module.h"
@@ -40,5 +40,5 @@ bool XCoreTargetMachine::addInstSelector(PassManagerBase &PM,
 // Force static initialization.
 extern "C" void LLVMInitializeXCoreTarget() {
   RegisterTargetMachine<XCoreTargetMachine> X(TheXCoreTarget);
-  RegisterAsmInfo<XCoreTargetAsmInfo> Y(TheXCoreTarget);
+  RegisterAsmInfo<XCoreMCAsmInfo> Y(TheXCoreTarget);
 }
index 302ddb177cfaecf45914762da08cb53c732a1608..4f5b8a0ba27e13a5709a07bd2b7b8e2eb42251db 100644 (file)
@@ -239,7 +239,7 @@ static int AssembleInput(const char *ProgName) {
   OwningPtr<MCStreamer> Str;
 
   if (FileType == OFT_AssemblyFile) {
-    const TargetAsmInfo *TAI = TheTarget->createAsmInfo(TripleName);
+    const MCAsmInfo *TAI = TheTarget->createAsmInfo(TripleName);
     assert(TAI && "Unable to create target asm info!");
 
     AP.reset(TheTarget->createAsmPrinter(*Out, *TM, TAI, true));
index 190578e2630c484d40d41d897a1b211d257e8684..f76168e3f539b4e20e71354be73c1d4df9343fbe 100644 (file)
@@ -39,7 +39,7 @@
 #include "llvm/System/Signals.h"
 #include "llvm/Target/SubtargetFeature.h"
 #include "llvm/Target/TargetOptions.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetRegistry.h"
@@ -359,7 +359,7 @@ void LTOCodeGenerator::applyScopeRestrictions()
         // mark which symbols can not be internalized 
         if ( !_mustPreserveSymbols.empty() ) {
             Mangler mangler(*mergedModule, 
-                                _target->getTargetAsmInfo()->getGlobalPrefix());
+                                _target->getMCAsmInfo()->getGlobalPrefix());
             std::vector<const char*> mustPreserveList;
             for (Module::iterator f = mergedModule->begin(), 
                                         e = mergedModule->end(); f != e; ++f) {
@@ -395,7 +395,7 @@ bool LTOCodeGenerator::generateAssemblyCode(formatted_raw_ostream& out,
     Module* mergedModule = _linker.getModule();
 
     // If target supports exception handling then enable it now.
-    switch (_target->getTargetAsmInfo()->getExceptionHandlingType()) {
+    switch (_target->getMCAsmInfo()->getExceptionHandlingType()) {
     case ExceptionHandling::Dwarf:
       llvm::DwarfExceptionHandling = true;
       break;
index cbfb04861f5a01f3e33e5367a8aeb3507d99e179..e3a3cf637b8db6a0234c1ce5d4ee449710cd24a9 100644 (file)
@@ -28,7 +28,7 @@
 #include "llvm/System/Path.h"
 #include "llvm/System/Process.h"
 #include "llvm/Target/SubtargetFeature.h"
-#include "llvm/Target/TargetAsmInfo.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetRegistry.h"
 #include "llvm/Target/TargetSelect.h"
@@ -458,7 +458,7 @@ void LTOModule::lazyParseSymbols()
         _symbolsParsed = true;
         
         // Use mangler to add GlobalPrefix to names to match linker names.
-        Mangler mangler(*_module, _target->getTargetAsmInfo()->getGlobalPrefix());
+        Mangler mangler(*_module, _target->getMCAsmInfo()->getGlobalPrefix());
         // add chars used in ObjC method names so method names aren't mangled
         mangler.markCharAcceptable('[');
         mangler.markCharAcceptable(']');