mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which is
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
This commit is contained in:
@ -530,6 +530,8 @@ unsigned MachineJumpTableInfo::getEntrySize(const TargetData &TD) const {
|
||||
switch (getEntryKind()) {
|
||||
case MachineJumpTableInfo::EK_BlockAddress:
|
||||
return TD.getPointerSize();
|
||||
case MachineJumpTableInfo::EK_GPRel64BlockAddress:
|
||||
return 8;
|
||||
case MachineJumpTableInfo::EK_GPRel32BlockAddress:
|
||||
case MachineJumpTableInfo::EK_LabelDifference32:
|
||||
case MachineJumpTableInfo::EK_Custom32:
|
||||
@ -549,6 +551,8 @@ unsigned MachineJumpTableInfo::getEntryAlignment(const TargetData &TD) const {
|
||||
switch (getEntryKind()) {
|
||||
case MachineJumpTableInfo::EK_BlockAddress:
|
||||
return TD.getPointerABIAlignment();
|
||||
case MachineJumpTableInfo::EK_GPRel64BlockAddress:
|
||||
return TD.getABIIntegerTypeAlignment(64);
|
||||
case MachineJumpTableInfo::EK_GPRel32BlockAddress:
|
||||
case MachineJumpTableInfo::EK_LabelDifference32:
|
||||
case MachineJumpTableInfo::EK_Custom32:
|
||||
|
Reference in New Issue
Block a user