diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-08-02 05:23:52 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-08-02 05:23:52 +0000 |
| commit | 8a0db7516ee2cee222ee17ecf6e3c0debb02042f (patch) | |
| tree | bd1d01b2de96e7af43fcf3b90066aa789945a3d8 /llvm/lib/Target/ARM | |
| parent | e98a3c3ca399093328c80ba00b83b0e7cec48427 (diff) | |
| download | bcm5719-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.cpp | 14 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetAsmInfo.h | 15 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/ARMTargetMachine.cpp | 4 |
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(); } } |

