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 | 20f98d18cbda767491b6d97413dcc10dedb21b76 (patch) | |
tree | ddcaa8f07463ca91b8ddc573e9a524d5809d18ef /lib/Target/ARM | |
parent | 5f1fdb3d639bc0300b5a40f1a1c62178fb534668 (diff) | |
download | external_llvm-20f98d18cbda767491b6d97413dcc10dedb21b76.zip external_llvm-20f98d18cbda767491b6d97413dcc10dedb21b76.tar.gz external_llvm-20f98d18cbda767491b6d97413dcc10dedb21b76.tar.bz2 |
ARM TAI no longer needs a TM, but createTargetAsmInfo() still does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77878 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM')
-rw-r--r-- | lib/Target/ARM/ARMTargetAsmInfo.cpp | 14 | ||||
-rw-r--r-- | lib/Target/ARM/ARMTargetAsmInfo.h | 15 | ||||
-rw-r--r-- | lib/Target/ARM/ARMTargetMachine.cpp | 4 |
3 files changed, 11 insertions, 22 deletions
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 @@ 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/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 @@ 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/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 @@ 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(); } } |