mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Emit correct DWARF reg # for RA (return address) register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36646 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d60a18dfbc
commit
038082d966
@ -1235,7 +1235,10 @@ void X86RegisterInfo::emitEpilogue(MachineFunction &MF,
|
||||
}
|
||||
|
||||
unsigned X86RegisterInfo::getRARegister() const {
|
||||
return X86::ST0; // use a non-register register
|
||||
if (Is64Bit)
|
||||
return X86::RIP; // Should have dwarf #16
|
||||
else
|
||||
return X86::EIP; // Should have dwarf #8
|
||||
}
|
||||
|
||||
unsigned X86RegisterInfo::getFrameRegister(MachineFunction &MF) const {
|
||||
|
@ -60,6 +60,7 @@ let Namespace = "X86" in {
|
||||
def BP : RegisterWithSubRegs<"BP", [BPL]>, DwarfRegNum<5>;
|
||||
def SI : RegisterWithSubRegs<"SI", [SIL]>, DwarfRegNum<6>;
|
||||
def DI : RegisterWithSubRegs<"DI", [DIL]>, DwarfRegNum<7>;
|
||||
def IP : Register<"IP">, DwarfRegNum<8>;
|
||||
|
||||
// X86-64 only
|
||||
def R8W : RegisterWithSubRegs<"R8W", [R8B]>, DwarfRegNum<8>;
|
||||
@ -80,6 +81,7 @@ let Namespace = "X86" in {
|
||||
def EBP : RegisterWithSubRegs<"EBP", [BP]>, DwarfRegNum<5>;
|
||||
def ESI : RegisterWithSubRegs<"ESI", [SI]>, DwarfRegNum<6>;
|
||||
def EDI : RegisterWithSubRegs<"EDI", [DI]>, DwarfRegNum<7>;
|
||||
def EIP : RegisterWithSubRegs<"EIP", [IP]>, DwarfRegNum<8>;
|
||||
|
||||
// X86-64 only
|
||||
def R8D : RegisterWithSubRegs<"R8D", [R8W]>, DwarfRegNum<8>;
|
||||
@ -109,6 +111,7 @@ let Namespace = "X86" in {
|
||||
def R13 : RegisterWithSubRegs<"R13", [R13D]>, DwarfRegNum<13>;
|
||||
def R14 : RegisterWithSubRegs<"R14", [R14D]>, DwarfRegNum<14>;
|
||||
def R15 : RegisterWithSubRegs<"R15", [R15D]>, DwarfRegNum<15>;
|
||||
def RIP : RegisterWithSubRegs<"RIP", [EIP]>, DwarfRegNum<16>;
|
||||
|
||||
// MMX Registers. These are actually aliased to ST0 .. ST7
|
||||
def MM0 : Register<"MM0">, DwarfRegNum<29>;
|
||||
|
Loading…
Reference in New Issue
Block a user