mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-28 06:29:45 +00:00
d90183d25d
the only real caller (GetFunctionSizeInBytes) uses it. The custom ARM implementation of this is basically reimplementing an assembler poorly for negligible gain. It should be removed IMNSHO, but I'll leave that to ARMish folks to decide. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77877 91177308-0d34-0410-b5e6-96231b3b80d8
56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
//=====-- ARMTargetAsmInfo.h - ARM asm properties -------------*- C++ -*--====//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file contains the declaration of the ARMTargetAsmInfo class.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef ARMTARGETASMINFO_H
|
|
#define ARMTARGETASMINFO_H
|
|
|
|
#include "ARMTargetMachine.h"
|
|
#include "llvm/Target/TargetAsmInfo.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(const ARMBaseTargetMachine &TM) {
|
|
BaseTAI::AsmTransCBE = arm_asm_table;
|
|
|
|
BaseTAI::AlignmentIsInBytes = false;
|
|
BaseTAI::Data64bitsDirective = 0;
|
|
BaseTAI::CommentString = "@";
|
|
BaseTAI::COMMDirectiveTakesAlignment = false;
|
|
BaseTAI::InlineAsmStart = "@ InlineAsm Start";
|
|
BaseTAI::InlineAsmEnd = "@ InlineAsm End";
|
|
BaseTAI::LCOMMDirective = "\t.lcomm\t";
|
|
}
|
|
|
|
const ARMSubtarget *Subtarget;
|
|
};
|
|
|
|
EXTERN_TEMPLATE_INSTANTIATION(class ARMTargetAsmInfo<TargetAsmInfo>);
|
|
|
|
struct ARMDarwinTargetAsmInfo : public ARMTargetAsmInfo<DarwinTargetAsmInfo> {
|
|
explicit ARMDarwinTargetAsmInfo(const ARMBaseTargetMachine &TM);
|
|
};
|
|
|
|
struct ARMELFTargetAsmInfo : public ARMTargetAsmInfo<TargetAsmInfo> {
|
|
explicit ARMELFTargetAsmInfo(const ARMBaseTargetMachine &TM);
|
|
};
|
|
|
|
} // namespace llvm
|
|
|
|
#endif
|