diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp
index b702cbf..7712b02 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -26,7 +26,7 @@
 using namespace llvm;
 using namespace llvm::dwarf;
 
-const char *const llvm::x86_asm_table[] = {
+static const char *const x86_asm_table[] = {
   "{si}", "S",
   "{di}", "D",
   "{ax}", "a",
@@ -38,8 +38,10 @@
   "{cc}", "cc",
   0,0};
 
-X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM):
-  X86TargetAsmInfo<DarwinTargetAsmInfo>(TM) {
+X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = TM.getSubtarget<X86Subtarget>().getAsmFlavor();
+    
   const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>();
   bool is64Bit = Subtarget->is64Bit();
 
@@ -83,8 +85,9 @@
   AbsoluteEHSectionOffsets = false;
 }
 
-X86ELFTargetAsmInfo::X86ELFTargetAsmInfo(const X86TargetMachine &TM) :
-  X86TargetAsmInfo<TargetAsmInfo>(TM) {
+X86ELFTargetAsmInfo::X86ELFTargetAsmInfo(const X86TargetMachine &TM) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = TM.getSubtarget<X86Subtarget>().getAsmFlavor();
 
   PrivateGlobalPrefix = ".L";
   WeakRefDirective = "\t.weak\t";
@@ -107,9 +110,17 @@
     NonexecutableStackDirective = "\t.section\t.note.GNU-stack,\"\",@progbits";
 }
 
+X86COFFTargetAsmInfo::X86COFFTargetAsmInfo(const X86TargetMachine &TM) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = TM.getSubtarget<X86Subtarget>().getAsmFlavor();
 
-X86WinTargetAsmInfo::X86WinTargetAsmInfo(const X86TargetMachine &TM):
-  X86TargetAsmInfo<TargetAsmInfo>(TM) {
+}
+
+
+X86WinTargetAsmInfo::X86WinTargetAsmInfo(const X86TargetMachine &TM) {
+  AsmTransCBE = x86_asm_table;
+  AssemblerDialect = TM.getSubtarget<X86Subtarget>().getAsmFlavor();
+
   GlobalPrefix = "_";
   CommentString = ";";
 
@@ -131,6 +142,3 @@
 
   AlignmentIsInBytes = true;
 }
-
-// Instantiate default implementation.
-TEMPLATE_INSTANTIATION(class X86TargetAsmInfo<TargetAsmInfo>);
diff --git a/lib/Target/X86/X86TargetAsmInfo.h b/lib/Target/X86/X86TargetAsmInfo.h
index 34599e5..9ce34f2 100644
--- a/lib/Target/X86/X86TargetAsmInfo.h
+++ b/lib/Target/X86/X86TargetAsmInfo.h
@@ -22,29 +22,19 @@
 
 namespace llvm {
 
-  extern const char *const x86_asm_table[];
-
-  template <class BaseTAI>
-  struct X86TargetAsmInfo : public BaseTAI {
-    explicit X86TargetAsmInfo(const TargetMachine &TM) {
-      BaseTAI::AsmTransCBE = x86_asm_table;
-      BaseTAI::AssemblerDialect =TM.getSubtarget<X86Subtarget>().getAsmFlavor();
-    }
-  };
-
-  EXTERN_TEMPLATE_INSTANTIATION(class X86TargetAsmInfo<TargetAsmInfo>);
-
-  struct X86DarwinTargetAsmInfo : public X86TargetAsmInfo<DarwinTargetAsmInfo> {
+  struct X86DarwinTargetAsmInfo : public DarwinTargetAsmInfo {
     explicit X86DarwinTargetAsmInfo(const X86TargetMachine &TM);
   };
 
-  struct X86ELFTargetAsmInfo : public X86TargetAsmInfo<TargetAsmInfo> {
+  struct X86ELFTargetAsmInfo : public TargetAsmInfo {
     explicit X86ELFTargetAsmInfo(const X86TargetMachine &TM);
   };
 
-  typedef X86TargetAsmInfo<COFFTargetAsmInfo> X86COFFTargetAsmInfo;
+  struct X86COFFTargetAsmInfo : public TargetAsmInfo {
+    explicit X86COFFTargetAsmInfo(const X86TargetMachine &TM);
+  };
 
-  struct X86WinTargetAsmInfo : public X86TargetAsmInfo<TargetAsmInfo> {
+  struct X86WinTargetAsmInfo : public TargetAsmInfo {
     explicit X86WinTargetAsmInfo(const X86TargetMachine &TM);
   };
 
