Translate llvm target registers to dwarf register numbers properly.
authorJim Laskey <jlaskey@mac.com>
Mon, 27 Mar 2006 20:18:45 +0000 (20:18 +0000)
committerJim Laskey <jlaskey@mac.com>
Mon, 27 Mar 2006 20:18:45 +0000 (20:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27180 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Alpha/AlphaRegisterInfo.cpp
lib/Target/IA64/IA64RegisterInfo.cpp
lib/Target/PowerPC/PPCRegisterInfo.cpp
lib/Target/Sparc/SparcRegisterInfo.cpp
lib/Target/X86/X86RegisterInfo.cpp

index f5c6dd67f54a9681614259551828c562dc5d30af..fee062f84c106b5ae27ad50bedb527eed17cb359 100644 (file)
@@ -362,7 +362,7 @@ void AlphaRegisterInfo::getLocation(MachineFunction &MF, unsigned Index,
   
   // FIXME - Needs to handle register variables.
   // FIXME - Faking that llvm number is same as gcc numbering.
-  ML.set((FP ? Alpha::R15 : Alpha::R30) - Alpha::R0,
+  ML.set(getDwarfRegNum(FP ? Alpha::R15 : Alpha::R30),
          MFI->getObjectOffset(Index) + MFI->getStackSize());
 }
 
index f6d9941f8e6d8893006345084a60233fc4bef692..c8d6f0fdf5f4734515daedb4b6525c37034f1121 100644 (file)
@@ -337,7 +337,7 @@ void IA64RegisterInfo::getLocation(MachineFunction &MF, unsigned Index,
   
   // FIXME - Needs to handle register variables.
   // FIXME - Faking that llvm number is same as gcc numbering.
-  ML.set((FP ? IA64::r5 : IA64::r12) - IA64::r0,
+  ML.set(getDwarfRegNum(FP ? IA64::r5 : IA64::r12),
          MFI->getObjectOffset(Index) + MFI->getStackSize());
 }
 
index 6b281bd2d8be3db2f8e426fcf52522fbc3b2a6ac..984d5e23fd89b28fde7027133eabbcacfba39c11 100644 (file)
@@ -454,7 +454,7 @@ void PPCRegisterInfo::getLocation(MachineFunction &MF, unsigned Index,
   
   // FIXME - Needs to handle register variables.
   // FIXME - Faking that llvm number is same as gcc numbering.
-  ML.set((FP ? PPC::R31 : PPC::R1) - PPC::R0,
+  ML.set(getDwarfRegNum(FP ? PPC::R31 : PPC::R1),
          MFI->getObjectOffset(Index) + MFI->getStackSize());
 }
 
index 21a0cd85d8954cc2dd093b1dfd5ab9b05efbb9dc..cbeb87fa54e481b5bb36d6598e3096812ff6fe7d 100644 (file)
@@ -207,7 +207,7 @@ void SparcRegisterInfo::getLocation(MachineFunction &MF, unsigned Index,
   
   // FIXME - Needs to handle register variables.
   // FIXME - Faking that llvm number is same as gcc numbering.
-  ML.set(SP::G1 - SP::G0,
+  ML.set(getDwarfRegNum(SP::G1),
          MFI->getObjectOffset(Index) + MFI->getStackSize());
 }
 
index 88aa0155d1563d7f9474db9de0b01ceee0019cb0..99e36eb36908dcbb9638134ba3caff36ad19ac79 100644 (file)
@@ -693,7 +693,7 @@ void X86RegisterInfo::getLocation(MachineFunction &MF, unsigned Index,
   
   // FIXME - Needs to handle register variables.
   // FIXME - Hardcoding gcc numbering.
-  ML.set(FP ? 6 : 7,
+  ML.set(getDwarfRegNum(FP ? X86::EBP : X86::ESP),
          MFI->getObjectOffset(Index) + MFI->getStackSize());
 }