mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
965e3bc5ff
These methods normally call each other and it is really annoying if the arguments are in different order. The more common rule was that the arguments specific to call are first (GV, Encoding, Suffix) and the auxiliary objects (Mang, TM) come after. This patch changes the exceptions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201044 91177308-0d34-0410-b5e6-96231b3b80d8
42 lines
1.5 KiB
C++
42 lines
1.5 KiB
C++
//===------- SparcTargetObjectFile.cpp - Sparc Object Info Impl -----------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "SparcTargetObjectFile.h"
|
|
#include "MCTargetDesc/SparcMCExpr.h"
|
|
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
|
|
#include "llvm/Support/Dwarf.h"
|
|
|
|
using namespace llvm;
|
|
|
|
const MCExpr *SparcELFTargetObjectFile::getTTypeGlobalReference(
|
|
const GlobalValue *GV, unsigned Encoding, Mangler &Mang,
|
|
MachineModuleInfo *MMI, MCStreamer &Streamer) const {
|
|
|
|
if (Encoding & dwarf::DW_EH_PE_pcrel) {
|
|
MachineModuleInfoELF &ELFMMI = MMI->getObjFileInfo<MachineModuleInfoELF>();
|
|
|
|
MCSymbol *SSym = getSymbolWithGlobalValueBase(GV, ".DW.stub", Mang);
|
|
|
|
// Add information about the stub reference to ELFMMI so that the stub
|
|
// gets emitted by the asmprinter.
|
|
MachineModuleInfoImpl::StubValueTy &StubSym = ELFMMI.getGVStubEntry(SSym);
|
|
if (StubSym.getPointer() == 0) {
|
|
MCSymbol *Sym = getSymbol(GV, Mang);
|
|
StubSym = MachineModuleInfoImpl::StubValueTy(Sym, !GV->hasLocalLinkage());
|
|
}
|
|
|
|
MCContext &Ctx = getContext();
|
|
return SparcMCExpr::Create(SparcMCExpr::VK_Sparc_R_DISP32,
|
|
MCSymbolRefExpr::Create(SSym, Ctx), Ctx);
|
|
}
|
|
|
|
return TargetLoweringObjectFileELF::getTTypeGlobalReference(
|
|
GV, Encoding, Mang, MMI, Streamer);
|
|
}
|