eliminate template from arm TAI
authorChris Lattner <sabre@nondot.org>
Tue, 11 Aug 2009 22:14:59 +0000 (22:14 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 11 Aug 2009 22:14:59 +0000 (22:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78729 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMTargetAsmInfo.cpp
lib/Target/ARM/ARMTargetAsmInfo.h
lib/Target/X86/X86TargetAsmInfo.h

index 755ee15a8d018a4eb899593cfa0d467a298a8f69..464ed1f5a7cf3bffed70f5130be27b32f9025baa 100644 (file)
@@ -14,7 +14,7 @@
 #include "ARMTargetAsmInfo.h"
 using namespace llvm;
 
-const char *const llvm::arm_asm_table[] = {
+static const char *const arm_asm_table[] = {
   "{r0}", "r0",
   "{r1}", "r1",
   "{r2}", "r2",
@@ -41,6 +41,15 @@ const char *const llvm::arm_asm_table[] = {
 };
 
 ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() {
+  AsmTransCBE = arm_asm_table;
+  AlignmentIsInBytes = false;
+  Data64bitsDirective = 0;
+  CommentString = "@";
+  COMMDirectiveTakesAlignment = false;
+  InlineAsmStart = "@ InlineAsm Start";
+  InlineAsmEnd = "@ InlineAsm End";
+  
+  
   ZeroDirective = "\t.space\t";
   ZeroFillDirective = "\t.zerofill\t";  // Uses .zerofill
   SetDirective = "\t.set\t";
@@ -56,6 +65,13 @@ ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() {
 }
 
 ARMELFTargetAsmInfo::ARMELFTargetAsmInfo() {
+  AlignmentIsInBytes = false;
+  Data64bitsDirective = 0;
+  CommentString = "@";
+  COMMDirectiveTakesAlignment = false;
+  InlineAsmStart = "@ InlineAsm Start";
+  InlineAsmEnd = "@ InlineAsm End";
+  
   NeedsSet = false;
   HasLEB128 = true;
   AbsoluteDebugSectionOffsets = true;
@@ -68,7 +84,3 @@ ARMELFTargetAsmInfo::ARMELFTargetAsmInfo() {
 
   SupportsDebugInformation = true;
 }
-
-// Instantiate default implementation.
-TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<DarwinTargetAsmInfo>);
-TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);
index d897d8cc0fe28bc47f1032cb9497bf90bb63f40e..3fde8ba63078874e3edd552b0c25b073880c113b 100644 (file)
 #define LLVM_ARMTARGETASMINFO_H
 
 #include "llvm/Target/DarwinTargetAsmInfo.h"
-#include "llvm/Support/Compiler.h"
 
 namespace llvm {
 
-  extern const char *const arm_asm_table[];
-
-  template <class BaseTAI>
-  struct ARMTargetAsmInfo : public BaseTAI {
-    explicit ARMTargetAsmInfo() {
-      BaseTAI::AsmTransCBE = arm_asm_table;
-
-      BaseTAI::AlignmentIsInBytes = false;
-      BaseTAI::Data64bitsDirective = 0;
-      BaseTAI::CommentString = "@";
-      BaseTAI::COMMDirectiveTakesAlignment = false;
-      BaseTAI::InlineAsmStart = "@ InlineAsm Start";
-      BaseTAI::InlineAsmEnd = "@ InlineAsm End";
-    }
-  };
-
-  EXTERN_TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<DarwinTargetAsmInfo>);
-  EXTERN_TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);
-
-  struct ARMDarwinTargetAsmInfo : public ARMTargetAsmInfo<DarwinTargetAsmInfo> {
+  struct ARMDarwinTargetAsmInfo : public DarwinTargetAsmInfo {
     explicit ARMDarwinTargetAsmInfo();
   };
 
-  struct ARMELFTargetAsmInfo : public ARMTargetAsmInfo<TargetAsmInfo> {
+  struct ARMELFTargetAsmInfo : public TargetAsmInfo {
     explicit ARMELFTargetAsmInfo();
   };
 
index c8167a31b8945cc2e5960534f86060c6f2994539..8879b4ba10e1a181cc2db968f664b14105b14df7 100644 (file)
@@ -18,7 +18,6 @@
 #include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/COFFTargetAsmInfo.h"
 #include "llvm/Target/DarwinTargetAsmInfo.h"
-#include "llvm/Support/Compiler.h"
 
 namespace llvm {