mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
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:
parent
4b152796ce
commit
5f28ffe6c2
@ -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>);
|
||||
|
@ -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();
|
||||
};
|
||||
|
||||
|
@ -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 {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user