Mark 64-bit register RA_64 unused too.
authorAkira Hatanaka <ahatanaka@mips.com>
Wed, 25 Jan 2012 04:19:22 +0000 (04:19 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Wed, 25 Jan 2012 04:19:22 +0000 (04:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148918 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsFrameLowering.cpp

index dda20c5c214a0bbd1f074d53910efda5e4ed839c..9ca69de0e438f57f70c76d5922f938e14a716de7 100644 (file)
@@ -322,7 +322,6 @@ void MipsFrameLowering::
 processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
                                      RegScavenger *RS) const {
   MachineRegisterInfo& MRI = MF.getRegInfo();
-  unsigned RA = STI.isABI_N64() ? Mips::RA_64 : Mips::RA;
   unsigned FP = STI.isABI_N64() ? Mips::FP_64 : Mips::FP;
 
   // FIXME: remove this code if register allocator can correctly mark
@@ -338,7 +337,9 @@ processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
   // To correct this, $ra is explicitly marked unused if there is no
   // function call.
   if (MF.getFrameInfo()->hasCalls())
-    MRI.setPhysRegUsed(RA);
-  else
-    MRI.setPhysRegUnused(RA);
+    MRI.setPhysRegUsed(Mips::RA);
+  else {
+    MRI.setPhysRegUnused(Mips::RA);
+    MRI.setPhysRegUnused(Mips::RA_64);
+  }
 }