diff --git a/lib/Target/ARM/ARMTargetAsmInfo.cpp b/lib/Target/ARM/ARMTargetAsmInfo.cpp
index b1ae524..3ff777c 100644
--- a/lib/Target/ARM/ARMTargetAsmInfo.cpp
+++ b/lib/Target/ARM/ARMTargetAsmInfo.cpp
@@ -12,9 +12,6 @@
 //===----------------------------------------------------------------------===//
 
 #include "ARMTargetAsmInfo.h"
-#include "ARMTargetMachine.h"
-#include <cstring>
-#include <cctype>
 using namespace llvm;
 
 const char *const llvm::arm_asm_table[] = {
@@ -43,10 +40,7 @@
   0,0
 };
 
-ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo(const ARMBaseTargetMachine &TM):
-  ARMTargetAsmInfo<DarwinTargetAsmInfo>(TM) {
-  Subtarget = &TM.getSubtarget<ARMSubtarget>();
-
+ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() {
   ZeroDirective = "\t.space\t";
   ZeroFillDirective = "\t.zerofill\t";  // Uses .zerofill
   SetDirective = "\t.set\t";
@@ -55,10 +49,7 @@
   SupportsDebugInformation = true;
 }
 
-ARMELFTargetAsmInfo::ARMELFTargetAsmInfo(const ARMBaseTargetMachine &TM):
-  ARMTargetAsmInfo<TargetAsmInfo>(TM) {
-  Subtarget = &TM.getSubtarget<ARMSubtarget>();
-
+ARMELFTargetAsmInfo::ARMELFTargetAsmInfo() {
   NeedsSet = false;
   HasLEB128 = true;
   AbsoluteDebugSectionOffsets = true;
@@ -82,4 +73,5 @@
 }
 
 // Instantiate default implementation.
+TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<DarwinTargetAsmInfo>);
 TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);
diff --git a/lib/Target/ARM/ARMTargetAsmInfo.h b/lib/Target/ARM/ARMTargetAsmInfo.h
index fb46be9..9b97cbd 100644
--- a/lib/Target/ARM/ARMTargetAsmInfo.h
+++ b/lib/Target/ARM/ARMTargetAsmInfo.h
@@ -11,11 +11,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef ARMTARGETASMINFO_H
-#define ARMTARGETASMINFO_H
+#ifndef LLVM_ARMTARGETASMINFO_H
+#define LLVM_ARMTARGETASMINFO_H
 
-#include "ARMTargetMachine.h"
-#include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/DarwinTargetAsmInfo.h"
 #include "llvm/Support/Compiler.h"
 
@@ -25,7 +23,7 @@
 
   template <class BaseTAI>
   struct ARMTargetAsmInfo : public BaseTAI {
-    explicit ARMTargetAsmInfo(const ARMBaseTargetMachine &TM) {
+    explicit ARMTargetAsmInfo() {
       BaseTAI::AsmTransCBE = arm_asm_table;
 
       BaseTAI::AlignmentIsInBytes = false;
@@ -36,18 +34,17 @@
       BaseTAI::InlineAsmEnd = "@ InlineAsm End";
       BaseTAI::LCOMMDirective = "\t.lcomm\t";
     }
-
-    const ARMSubtarget *Subtarget;
   };
 
+  EXTERN_TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<DarwinTargetAsmInfo>);
   EXTERN_TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);
 
   struct ARMDarwinTargetAsmInfo : public ARMTargetAsmInfo<DarwinTargetAsmInfo> {
-    explicit ARMDarwinTargetAsmInfo(const ARMBaseTargetMachine &TM);
+    explicit ARMDarwinTargetAsmInfo();
   };
 
   struct ARMELFTargetAsmInfo : public ARMTargetAsmInfo<TargetAsmInfo> {
-    explicit ARMELFTargetAsmInfo(const ARMBaseTargetMachine &TM);
+    explicit ARMELFTargetAsmInfo();
   };
 
 } // namespace llvm
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp
index 9f70ab9..96552ed 100644
--- a/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/lib/Target/ARM/ARMTargetMachine.cpp
@@ -78,9 +78,9 @@
   switch (Subtarget.TargetType) {
   default: llvm_unreachable("Unknown ARM subtarget kind");
   case ARMSubtarget::isDarwin:
-    return new ARMDarwinTargetAsmInfo(*this);
+    return new ARMDarwinTargetAsmInfo();
   case ARMSubtarget::isELF:
-    return new ARMELFTargetAsmInfo(*this);
+    return new ARMELFTargetAsmInfo();
   }
 }
 
