eliminate template from arm TAI

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78729 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-08-11 22:14:59 +00:00
parent 4b152796ce
commit 5f28ffe6c2
3 changed files with 19 additions and 28 deletions

View File

@ -14,7 +14,7 @@
#include "ARMTargetAsmInfo.h"
using namespace llvm;
const char *const llvm::arm_asm_table[] = {
static const char *const arm_asm_table[] = {
"{r0}", "r0",
"{r1}", "r1",
"{r2}", "r2",
@ -41,6 +41,15 @@ const char *const llvm::arm_asm_table[] = {
};
ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() {
AsmTransCBE = arm_asm_table;
AlignmentIsInBytes = false;
Data64bitsDirective = 0;
CommentString = "@";
COMMDirectiveTakesAlignment = false;
InlineAsmStart = "@ InlineAsm Start";
InlineAsmEnd = "@ InlineAsm End";
ZeroDirective = "\t.space\t";
ZeroFillDirective = "\t.zerofill\t"; // Uses .zerofill
SetDirective = "\t.set\t";
@ -56,6 +65,13 @@ ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() {
}
ARMELFTargetAsmInfo::ARMELFTargetAsmInfo() {
AlignmentIsInBytes = false;
Data64bitsDirective = 0;
CommentString = "@";
COMMDirectiveTakesAlignment = false;
InlineAsmStart = "@ InlineAsm Start";
InlineAsmEnd = "@ InlineAsm End";
NeedsSet = false;
HasLEB128 = true;
AbsoluteDebugSectionOffsets = true;
@ -68,7 +84,3 @@ ARMELFTargetAsmInfo::ARMELFTargetAsmInfo() {
SupportsDebugInformation = true;
}
// Instantiate default implementation.
TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<DarwinTargetAsmInfo>);
TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);

View File

@ -15,34 +15,14 @@
#define LLVM_ARMTARGETASMINFO_H
#include "llvm/Target/DarwinTargetAsmInfo.h"
#include "llvm/Support/Compiler.h"
namespace llvm {
extern const char *const arm_asm_table[];
template <class BaseTAI>
struct ARMTargetAsmInfo : public BaseTAI {
explicit ARMTargetAsmInfo() {
BaseTAI::AsmTransCBE = arm_asm_table;
BaseTAI::AlignmentIsInBytes = false;
BaseTAI::Data64bitsDirective = 0;
BaseTAI::CommentString = "@";
BaseTAI::COMMDirectiveTakesAlignment = false;
BaseTAI::InlineAsmStart = "@ InlineAsm Start";
BaseTAI::InlineAsmEnd = "@ InlineAsm End";
}
};
EXTERN_TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<DarwinTargetAsmInfo>);
EXTERN_TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);
struct ARMDarwinTargetAsmInfo : public ARMTargetAsmInfo<DarwinTargetAsmInfo> {
struct ARMDarwinTargetAsmInfo : public DarwinTargetAsmInfo {
explicit ARMDarwinTargetAsmInfo();
};
struct ARMELFTargetAsmInfo : public ARMTargetAsmInfo<TargetAsmInfo> {
struct ARMELFTargetAsmInfo : public TargetAsmInfo {
explicit ARMELFTargetAsmInfo();
};

View File

@ -18,7 +18,6 @@
#include "llvm/Target/TargetAsmInfo.h"
#include "llvm/Target/COFFTargetAsmInfo.h"
#include "llvm/Target/DarwinTargetAsmInfo.h"
#include "llvm/Support/Compiler.h"
namespace llvm {