mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-20 14:29:27 +00:00
needed to emit a 64-bit gp-relative relocation entry. Make changes necessary for emitting jump tables which have entries with directive .gpdword. This patch does not implement the parts needed for direct object emission or JIT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149668 91177308-0d34-0410-b5e6-96231b3b80d8
43 lines
1.4 KiB
C++
43 lines
1.4 KiB
C++
//===-- MipsMCAsmInfo.cpp - Mips asm properties ---------------------------===//
|
|
//
|
|
// 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 declarations of the MipsMCAsmInfo properties.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "MipsMCAsmInfo.h"
|
|
#include "llvm/ADT/Triple.h"
|
|
|
|
using namespace llvm;
|
|
|
|
void MipsMCAsmInfo::anchor() { }
|
|
|
|
MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, StringRef TT) {
|
|
Triple TheTriple(TT);
|
|
if ((TheTriple.getArch() == Triple::mips) ||
|
|
(TheTriple.getArch() == Triple::mips64))
|
|
IsLittleEndian = false;
|
|
|
|
AlignmentIsInBytes = false;
|
|
Data16bitsDirective = "\t.2byte\t";
|
|
Data32bitsDirective = "\t.4byte\t";
|
|
Data64bitsDirective = "\t.8byte\t";
|
|
PrivateGlobalPrefix = "$";
|
|
CommentString = "#";
|
|
ZeroDirective = "\t.space\t";
|
|
GPRel32Directive = "\t.gpword\t";
|
|
GPRel64Directive = "\t.gpdword\t";
|
|
WeakRefDirective = "\t.weak\t";
|
|
|
|
SupportsDebugInformation = true;
|
|
ExceptionsType = ExceptionHandling::DwarfCFI;
|
|
HasLEB128 = true;
|
|
DwarfRegNumForCFI = true;
|
|
}
|