revert 93934, removing the MCAsmInfo endianness bit. I can't
authorChris Lattner <sabre@nondot.org>
Wed, 20 Jan 2010 06:34:14 +0000 (06:34 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 20 Jan 2010 06:34:14 +0000 (06:34 +0000)
stomache MCAsmInfo having this, and I found a better solution to
this layering issue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93985 91177308-0d34-0410-b5e6-96231b3b80d8

21 files changed:
include/llvm/MC/MCAsmInfo.h
include/llvm/MC/MCAsmInfoCOFF.h
include/llvm/MC/MCAsmInfoDarwin.h
lib/MC/MCAsmInfo.cpp
lib/MC/MCAsmInfoCOFF.cpp
lib/MC/MCAsmInfoDarwin.cpp
lib/Target/ARM/ARMMCAsmInfo.cpp
lib/Target/Alpha/AlphaMCAsmInfo.cpp
lib/Target/Blackfin/BlackfinMCAsmInfo.cpp
lib/Target/CBackend/CBackend.cpp
lib/Target/CellSPU/SPUMCAsmInfo.cpp
lib/Target/MSP430/MSP430MCAsmInfo.cpp
lib/Target/Mips/MipsMCAsmInfo.cpp
lib/Target/Mips/MipsMCAsmInfo.h
lib/Target/Mips/MipsTargetMachine.cpp
lib/Target/PIC16/PIC16MCAsmInfo.cpp
lib/Target/PowerPC/PPCMCAsmInfo.cpp
lib/Target/Sparc/SparcMCAsmInfo.cpp
lib/Target/SystemZ/SystemZMCAsmInfo.cpp
lib/Target/X86/X86MCAsmInfo.cpp
lib/Target/XCore/XCoreMCAsmInfo.cpp

index 7ca7ecba6ff95c638f28cd1d970a4048247ef9cd..0be27530f27149af10f1f6129599644ea23b4935 100644 (file)
@@ -24,7 +24,6 @@ namespace llvm {
   namespace ExceptionHandling { enum ExceptionsType { None, Dwarf, SjLj }; }
 
   class MCAsmInfo {
-    bool IsLittleEndian;
   protected:
     //===------------------------------------------------------------------===//
     // Properties to be set by the target writer, used to configure asm printer.
@@ -286,12 +285,9 @@ namespace llvm {
     const char *const *AsmTransCBE;          // Defaults to empty
 
   public:
-    explicit MCAsmInfo(bool isLittleEndian);
+    explicit MCAsmInfo();
     virtual ~MCAsmInfo();
 
-    bool isLittleEndian() const { return IsLittleEndian; }
-    bool isBigEndian() const { return !IsLittleEndian; }
-    
     /// getSLEB128Size - Compute the number of bytes required for a signed
     /// leb128 value.
     static unsigned getSLEB128Size(int Value);
index 97e9aee060a57e8ed718cbfc06d9dcac722089b2..a3ee1593c3ac4c09ab630995c0066685b9737407 100644 (file)
@@ -15,7 +15,7 @@
 namespace llvm {
   class MCAsmInfoCOFF : public MCAsmInfo {
   protected:
-    explicit MCAsmInfoCOFF(bool isLittleEndian);
+    explicit MCAsmInfoCOFF();
       
   };
 }
index f5e897d203d83bb1689c2389d70726bd4eec9430..c85aa3da9572e672bbce19ebcd8b30e4e5a7bc6e 100644 (file)
@@ -24,7 +24,7 @@ namespace llvm {
   class Mangler;
 
   struct MCAsmInfoDarwin : public MCAsmInfo {
-    explicit MCAsmInfoDarwin(bool isLittleEndian);
+    explicit MCAsmInfoDarwin();
   };
 }
 
index c15d61494ca9e31c2c05fd56e335df4f9bb65cc5..cc03614157460d9200e423fc4ce4ef6db5fe559e 100644 (file)
@@ -18,8 +18,7 @@
 #include <cstring>
 using namespace llvm;
 
-MCAsmInfo::MCAsmInfo(bool isLittleEndian) {
-  IsLittleEndian = isLittleEndian;
+MCAsmInfo::MCAsmInfo() {
   HasMachoZeroFillDirective = false;
   HasStaticCtorDtorReferenceInStaticMode = false;
   NonexecutableStackDirective = 0;
index d384c6c07638c84a520383d7f7cac51d0506996c..1b27bf026ec70fbcb239d6a07d5eda7921030a78 100644 (file)
@@ -16,7 +16,7 @@
 #include "llvm/ADT/SmallVector.h"
 using namespace llvm;
 
-MCAsmInfoCOFF::MCAsmInfoCOFF(bool isLittleEndian) : MCAsmInfo(isLittleEndian) {
+MCAsmInfoCOFF::MCAsmInfoCOFF() {
   GlobalPrefix = "_";
   LCOMMDirective = "\t.lcomm\t";
   COMMDirectiveTakesAlignment = false;
index f024a1668c6a22d58d30414c243aa1c111420328..664a55c08884809d775b561b121954c40c918d4d 100644 (file)
@@ -15,8 +15,7 @@
 #include "llvm/MC/MCAsmInfoDarwin.h"
 using namespace llvm;
 
-MCAsmInfoDarwin::MCAsmInfoDarwin(bool isLittleEndian)
-  : MCAsmInfo(isLittleEndian) {
+MCAsmInfoDarwin::MCAsmInfoDarwin() {
   // Common settings for all Darwin targets.
   // Syntax:
   GlobalPrefix = "_";
index a3499fa3cbc3210af1021a9726136a478fdc12c7..0ff65d2af88b86002430662ca01aa2ec5717348a 100644 (file)
@@ -40,7 +40,7 @@ static const char *const arm_asm_table[] = {
   0,0
 };
 
-ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() : MCAsmInfoDarwin(true) {
+ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() {
   AsmTransCBE = arm_asm_table;
   Data64bitsDirective = 0;
   CommentString = "@";
@@ -52,7 +52,7 @@ ARMMCAsmInfoDarwin::ARMMCAsmInfoDarwin() : MCAsmInfoDarwin(true) {
   AbsoluteEHSectionOffsets = false;
 }
 
-ARMELFMCAsmInfo::ARMELFMCAsmInfo() : MCAsmInfo(true) {
+ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
   AlignmentIsInBytes = false;
   Data64bitsDirective = 0;
   CommentString = "@";
index 25443cc0c693fd269ea6122f0fa5628e1fa95b5d..b652a5305a018118842844677bf09e7b858b6d42 100644 (file)
@@ -14,8 +14,7 @@
 #include "AlphaMCAsmInfo.h"
 using namespace llvm;
 
-AlphaMCAsmInfo::AlphaMCAsmInfo(const Target &T, const StringRef &TT)
-  : MCAsmInfo(true) {
+AlphaMCAsmInfo::AlphaMCAsmInfo(const Target &T, const StringRef &TT) {
   AlignmentIsInBytes = false;
   PrivateGlobalPrefix = "$";
   PICJumpTableDirective = ".gprel32";
index 368cd50ed96fa31cb6501f81fd1552df2e2cd6e6..6d0f66cd7a5d127ca6c2feb1597821c1a4d0ac2d 100644 (file)
@@ -15,8 +15,7 @@
 
 using namespace llvm;
 
-BlackfinMCAsmInfo::BlackfinMCAsmInfo(const Target &T, const StringRef &TT)
-: MCAsmInfo(true) {
+BlackfinMCAsmInfo::BlackfinMCAsmInfo(const Target &T, const StringRef &TT) {
   GlobalPrefix = "_";
   CommentString = "//";
 }
index 1feadd2a9308858b7ba61744faaa78d933b779e5..5015d1bcce80e3bc6398876ef49bb1e076302e0f 100644 (file)
@@ -60,7 +60,7 @@ extern "C" void LLVMInitializeCBackendTarget() {
 namespace {
   class CBEMCAsmInfo : public MCAsmInfo {
   public:
-    CBEMCAsmInfo(bool isLE) : MCAsmInfo(isLE) {
+    CBEMCAsmInfo() {
       GlobalPrefix = "";
       PrivateGlobalPrefix = "";
     }
@@ -1893,7 +1893,7 @@ bool CWriter::doInitialization(Module &M) {
   if (const Target *Match = TargetRegistry::lookupTarget(Triple, E))
     TAsm = Match->createAsmInfo(Triple);
 #endif    
-  TAsm = new CBEMCAsmInfo(TD->isLittleEndian());
+  TAsm = new CBEMCAsmInfo();
   Mang = new Mangler(*TAsm);
 
   // Keep track of which functions are static ctors/dtors so they can have
index 3b43a7e2092d92446f07995763e32bf82ae90884..1c921ab87ff20306cc467d025b788667d51b4554 100644 (file)
@@ -14,8 +14,7 @@
 #include "SPUMCAsmInfo.h"
 using namespace llvm;
 
-SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, const StringRef &TT)
-  : MCAsmInfo(false) {
+SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, const StringRef &TT) {
   ZeroDirective = "\t.space\t";
   SetDirective = "\t.set";
   Data64bitsDirective = "\t.quad\t";
index 92adc381699211eea8fc3a3b2c2247e384dc0e4a..516eacb535641a4e0c1b7e4d5211a3910b7b1473 100644 (file)
@@ -14,8 +14,7 @@
 #include "MSP430MCAsmInfo.h"
 using namespace llvm;
 
-MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, const StringRef &TT) :
- MCAsmInfo(true) {
+MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, const StringRef &TT) {
   PrivateGlobalPrefix = ".L";
   WeakRefDirective ="\t.weak\t";
   SetDirective = "\t.set\t";
index 9a0c0bfdba89b37362e41de1c3346b9f932e521e..60ef1c9e4fef3569b2e2310266068ed51dcf3eb6 100644 (file)
@@ -14,8 +14,7 @@
 #include "MipsMCAsmInfo.h"
 using namespace llvm;
 
-MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, const StringRef &TT,
-                             bool isLittleEndian) : MCAsmInfo(isLittleEndian) {
+MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, const StringRef &TT) {
   AlignmentIsInBytes          = false;
   COMMDirectiveTakesAlignment = true;
   Data16bitsDirective         = "\t.half\t";
index 62ef463c0f3cdfd6fc2e9dab70317c20f5db9d42..33a4b5edb258f21197845dd30c36df5515ed59df 100644 (file)
@@ -22,23 +22,9 @@ namespace llvm {
   
   class MipsMCAsmInfo : public MCAsmInfo {
   public:
-    explicit MipsMCAsmInfo(const Target &T, const StringRef &TT,
-                           bool isLittleEndian);
-  };
-  
-  /// Big Endian MAI.
-  class MipsBEMCAsmInfo : public MipsMCAsmInfo {
-  public:
-    MipsBEMCAsmInfo(const Target &T, const StringRef &TT)
-      : MipsMCAsmInfo(T, TT, false) {}
-  };
-  
-  /// Little Endian MAI.
-  class MipsLEMCAsmInfo : public MipsMCAsmInfo {
-  public:
-    MipsLEMCAsmInfo(const Target &T, const StringRef &TT)
-    : MipsMCAsmInfo(T, TT, true) {}
+    explicit MipsMCAsmInfo(const Target &T, const StringRef &TT);
   };
+
 } // namespace llvm
 
 #endif
index 1168fef66e0c972776558fdd4fb43729fbefffb0..4724ff7d3470fcc858f5b67d126fdca5f07278e0 100644 (file)
@@ -22,8 +22,8 @@ extern "C" void LLVMInitializeMipsTarget() {
   // Register the target.
   RegisterTargetMachine<MipsTargetMachine> X(TheMipsTarget);
   RegisterTargetMachine<MipselTargetMachine> Y(TheMipselTarget);
-  RegisterAsmInfo<MipsBEMCAsmInfo> A(TheMipsTarget);
-  RegisterAsmInfo<MipsLEMCAsmInfo> B(TheMipselTarget);
+  RegisterAsmInfo<MipsMCAsmInfo> A(TheMipsTarget);
+  RegisterAsmInfo<MipsMCAsmInfo> B(TheMipselTarget);
 }
 
 // DataLayout --> Big-endian, 32-bit pointer/ABI/alignment
@@ -60,7 +60,8 @@ MipselTargetMachine(const Target &T, const std::string &TT,
 // Install an instruction selector pass using 
 // the ISelDag to gen Mips code.
 bool MipsTargetMachine::
-addInstSelector(PassManagerBase &PM, CodeGenOpt::Level OptLevel) {
+addInstSelector(PassManagerBase &PM, CodeGenOpt::Level OptLevel) 
+{
   PM.add(createMipsISelDag(*this));
   return false;
 }
index a6331e64ccc268dfd45b076f80f2d6efc7acd363..827315e13b721b0526c42aeec6533ed5052650c1 100644 (file)
@@ -20,8 +20,7 @@
 #include "PIC16ISelLowering.h"
 using namespace llvm;
 
-PIC16MCAsmInfo::PIC16MCAsmInfo(const Target &T, const StringRef &TT)
-: MCAsmInfo(true) {
+PIC16MCAsmInfo::PIC16MCAsmInfo(const Target &T, const StringRef &TT) {
   CommentString = ";";
   GlobalPrefix = PAN::getTagName(PAN::PREFIX_SYMBOL);
   GlobalDirective = "\tglobal\t";
index 12de9427f4f772ee7f44e4500914fefbf57f7b2d..ee6deb5c5090e194bac2dbf77f76da6eccd16a43 100644 (file)
@@ -14,7 +14,7 @@
 #include "PPCMCAsmInfo.h"
 using namespace llvm;
 
-PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) : MCAsmInfoDarwin(false) {
+PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) {
   PCSymbol = ".";
   CommentString = ";";
   ExceptionsType = ExceptionHandling::Dwarf;
@@ -25,7 +25,7 @@ PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) : MCAsmInfoDarwin(false) {
   SupportsDebugInformation= true; // Debug information.
 }
 
-PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) : MCAsmInfo(false)  {
+PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) {
   CommentString = "#";
   GlobalPrefix = "";
   PrivateGlobalPrefix = ".L";
index cb6da961b83e318041d591d01eb4931bd9adeb91..b67537c17881c36120c91aad250adc51f83223f5 100644 (file)
@@ -15,8 +15,7 @@
 #include "llvm/ADT/SmallVector.h"
 using namespace llvm;
 
-SparcELFMCAsmInfo::SparcELFMCAsmInfo(const Target &T, const StringRef &TT)
-  : MCAsmInfo(/*isLittleEndian*/ false) {
+SparcELFMCAsmInfo::SparcELFMCAsmInfo(const Target &T, const StringRef &TT) {
   Data16bitsDirective = "\t.half\t";
   Data32bitsDirective = "\t.word\t";
   Data64bitsDirective = 0;  // .xword is only supported by V9.
index c17535f4e2b34888581852eebcb918f427dab96a..8ea11c95b27da54c755d17689253ff5ac72f21c7 100644 (file)
@@ -14,8 +14,7 @@
 #include "SystemZMCAsmInfo.h"
 using namespace llvm;
 
-SystemZMCAsmInfo::SystemZMCAsmInfo(const Target &T, const StringRef &TT)
-: MCAsmInfo(false) {
+SystemZMCAsmInfo::SystemZMCAsmInfo(const Target &T, const StringRef &TT) {
   AlignmentIsInBytes = true;
 
   PrivateGlobalPrefix = ".L";
index bba36e86caddccc8e2a3534ce66f64d8e89e48d4..001ce8072863010aff155e1363a7b58193f287f0 100644 (file)
@@ -43,8 +43,7 @@ static const char *const x86_asm_table[] = {
   "{cc}", "cc",
   0,0};
 
-X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &Triple)
-  : MCAsmInfoDarwin(true /*islittleendian*/) {
+X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &Triple) {
   AsmTransCBE = x86_asm_table;
   AssemblerDialect = AsmWriterFlavor;
     
@@ -69,8 +68,7 @@ X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &Triple)
   AbsoluteEHSectionOffsets = false;
 }
 
-X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple)
-  : MCAsmInfo(true /*islittleendian*/) {
+X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) {
   AsmTransCBE = x86_asm_table;
   AssemblerDialect = AsmWriterFlavor;
 
@@ -95,15 +93,13 @@ X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple)
     NonexecutableStackDirective = "\t.section\t.note.GNU-stack,\"\",@progbits";
 }
 
-X86MCAsmInfoCOFF::X86MCAsmInfoCOFF(const Triple &Triple)
-  : MCAsmInfoCOFF(true /*islittleendian*/) {
+X86MCAsmInfoCOFF::X86MCAsmInfoCOFF(const Triple &Triple) {
   AsmTransCBE = x86_asm_table;
   AssemblerDialect = AsmWriterFlavor;
 }
 
 
-X86WinMCAsmInfo::X86WinMCAsmInfo(const Triple &Triple)
-  : MCAsmInfo(true /*islittleendian*/) {
+X86WinMCAsmInfo::X86WinMCAsmInfo(const Triple &Triple) {
   AsmTransCBE = x86_asm_table;
   AssemblerDialect = AsmWriterFlavor;
 
index b6c0cfccf901e4e4a13683aeac8af9e40eda69cb..dffdda9a1fd09622512ede4f08157ae93c51e95c 100644 (file)
@@ -10,8 +10,7 @@
 #include "XCoreMCAsmInfo.h"
 using namespace llvm;
 
-XCoreMCAsmInfo::XCoreMCAsmInfo(const Target &T, const StringRef &TT)
-: MCAsmInfo(true) {
+XCoreMCAsmInfo::XCoreMCAsmInfo(const Target &T, const StringRef &TT) {
   SupportsDebugInformation = true;
   Data16bitsDirective = "\t.short\t";
   Data32bitsDirective = "\t.long\t";