summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-02 05:23:52 +0000
committerChris Lattner <sabre@nondot.org>2009-08-02 05:23:52 +0000
commit8a0db7516ee2cee222ee17ecf6e3c0debb02042f (patch)
treebd1d01b2de96e7af43fcf3b90066aa789945a3d8 /llvm/lib/Target/ARM
parente98a3c3ca399093328c80ba00b83b0e7cec48427 (diff)
downloadbcm5719-llvm-8a0db7516ee2cee222ee17ecf6e3c0debb02042f.tar.gz
bcm5719-llvm-8a0db7516ee2cee222ee17ecf6e3c0debb02042f.zip
ARM TAI no longer needs a TM, but createTargetAsmInfo() still does.
llvm-svn: 77878
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp14
-rw-r--r--llvm/lib/Target/ARM/ARMTargetAsmInfo.h15
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.cpp4
3 files changed, 11 insertions, 22 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp b/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp
index b1ae524bba3..3ff777c73d3 100644
--- a/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp
+++ b/llvm/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 @@ const char *const llvm::arm_asm_table[] = {
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 @@ ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo(const ARMBaseTargetMachine &TM):
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 @@ ARMELFTargetAsmInfo::ARMELFTargetAsmInfo(const ARMBaseTargetMachine &TM):
}
// Instantiate default implementation.
+TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<DarwinTargetAsmInfo>);
TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);
diff --git a/llvm/lib/Target/ARM/ARMTargetAsmInfo.h b/llvm/lib/Target/ARM/ARMTargetAsmInfo.h
index fb46be9140c..9b97cbdc17a 100644
--- a/llvm/lib/Target/ARM/ARMTargetAsmInfo.h
+++ b/llvm/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 @@ namespace llvm {
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 @@ namespace llvm {
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/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
index 9f70ab90059..96552ede201 100644
--- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
@@ -78,9 +78,9 @@ const TargetAsmInfo *ARMBaseTargetMachine::createTargetAsmInfo() const {
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();
}
}
OpenPOWER on IntegriCloud