mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-05 22:59:16 +00:00
65300b95e6
In an assembly expression like bar: .long L0 + 1 the intended semantics is that bar will contain a pointer one byte past L0. In sections that are merged by content (strings, 4 byte constants, etc), a single position in the section doesn't give the linker enough information. For example, it would not be able to tell a relocation must point to the end of a string, since that would look just like the start of the next. The solution used in ELF to use relocation with symbols if there is a non-zero addend. In MachO before this patch we would just keep all symbols in some sections. This would miss some cases (only cstrings on x86_64 were implemented) and was inefficient since most relocations have an addend of 0 and can be represented without the symbol. This patch implements the non-zero addend logic for MachO too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224985 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
AsmParser | ||
InstPrinter | ||
MCTargetDesc | ||
TargetInfo | ||
AMDGPU.h | ||
AMDGPU.td | ||
AMDGPUAlwaysInlinePass.cpp | ||
AMDGPUAsmPrinter.cpp | ||
AMDGPUAsmPrinter.h | ||
AMDGPUCallingConv.td | ||
AMDGPUFrameLowering.cpp | ||
AMDGPUFrameLowering.h | ||
AMDGPUInstrInfo.cpp | ||
AMDGPUInstrInfo.h | ||
AMDGPUInstrInfo.td | ||
AMDGPUInstructions.td | ||
AMDGPUIntrinsicInfo.cpp | ||
AMDGPUIntrinsicInfo.h | ||
AMDGPUIntrinsics.td | ||
AMDGPUISelDAGToDAG.cpp | ||
AMDGPUISelLowering.cpp | ||
AMDGPUISelLowering.h | ||
AMDGPUMachineFunction.cpp | ||
AMDGPUMachineFunction.h | ||
AMDGPUMCInstLower.cpp | ||
AMDGPUMCInstLower.h | ||
AMDGPUPromoteAlloca.cpp | ||
AMDGPURegisterInfo.cpp | ||
AMDGPURegisterInfo.h | ||
AMDGPURegisterInfo.td | ||
AMDGPUSubtarget.cpp | ||
AMDGPUSubtarget.h | ||
AMDGPUTargetMachine.cpp | ||
AMDGPUTargetMachine.h | ||
AMDGPUTargetTransformInfo.cpp | ||
AMDILCFGStructurizer.cpp | ||
AMDKernelCodeT.h | ||
CaymanInstructions.td | ||
CIInstructions.td | ||
CMakeLists.txt | ||
EvergreenInstructions.td | ||
LLVMBuild.txt | ||
Makefile | ||
Processors.td | ||
R600ClauseMergePass.cpp | ||
R600ControlFlowFinalizer.cpp | ||
R600Defines.h | ||
R600EmitClauseMarkers.cpp | ||
R600ExpandSpecialInstrs.cpp | ||
R600InstrFormats.td | ||
R600InstrInfo.cpp | ||
R600InstrInfo.h | ||
R600Instructions.td | ||
R600Intrinsics.td | ||
R600ISelLowering.cpp | ||
R600ISelLowering.h | ||
R600MachineFunctionInfo.cpp | ||
R600MachineFunctionInfo.h | ||
R600MachineScheduler.cpp | ||
R600MachineScheduler.h | ||
R600OptimizeVectorRegisters.cpp | ||
R600Packetizer.cpp | ||
R600RegisterInfo.cpp | ||
R600RegisterInfo.h | ||
R600RegisterInfo.td | ||
R600Schedule.td | ||
R600TextureIntrinsicsReplacer.cpp | ||
R700Instructions.td | ||
SIAnnotateControlFlow.cpp | ||
SIDefines.h | ||
SIFixSGPRCopies.cpp | ||
SIFixSGPRLiveRanges.cpp | ||
SIFoldOperands.cpp | ||
SIInsertWaits.cpp | ||
SIInstrFormats.td | ||
SIInstrInfo.cpp | ||
SIInstrInfo.h | ||
SIInstrInfo.td | ||
SIInstructions.td | ||
SIIntrinsics.td | ||
SIISelLowering.cpp | ||
SIISelLowering.h | ||
SILoadStoreOptimizer.cpp | ||
SILowerControlFlow.cpp | ||
SILowerI1Copies.cpp | ||
SIMachineFunctionInfo.cpp | ||
SIMachineFunctionInfo.h | ||
SIRegisterInfo.cpp | ||
SIRegisterInfo.h | ||
SIRegisterInfo.td | ||
SISchedule.td | ||
SIShrinkInstructions.cpp | ||
SITypeRewriter.cpp | ||
VIInstrFormats.td | ||
VIInstructions.td |