mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 16:31:16 +00:00
8c6ed05157
Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
SubtargetFeature.h | ||
Target.td | ||
TargetAsmParser.h | ||
TargetCallingConv.td | ||
TargetData.h | ||
TargetELFWriterInfo.h | ||
TargetFrameInfo.h | ||
TargetInstrDesc.h | ||
TargetInstrInfo.h | ||
TargetInstrItineraries.h | ||
TargetIntrinsicInfo.h | ||
TargetJITInfo.h | ||
TargetLowering.h | ||
TargetLoweringObjectFile.h | ||
TargetMachine.h | ||
TargetMachOWriterInfo.h | ||
TargetOptions.h | ||
TargetRegisterInfo.h | ||
TargetRegistry.h | ||
TargetSchedule.td | ||
TargetSelect.h | ||
TargetSelectionDAG.td | ||
TargetSubtarget.h |