aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-01-25 04:19:22 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-01-25 04:19:22 +0000
commit4bd73cac6abf8afa291f0e37e2240835fc1d08f0 (patch)
tree85b3e08f82dc411827c653bf0d251cad787040e2 /lib/Target
parentde5a0b65c27cc82300d3046fb9c119b8b524aa81 (diff)
downloadexternal_llvm-4bd73cac6abf8afa291f0e37e2240835fc1d08f0.zip
external_llvm-4bd73cac6abf8afa291f0e37e2240835fc1d08f0.tar.gz
external_llvm-4bd73cac6abf8afa291f0e37e2240835fc1d08f0.tar.bz2
Mark 64-bit register RA_64 unused too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148918 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/Mips/MipsFrameLowering.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/Target/Mips/MipsFrameLowering.cpp b/lib/Target/Mips/MipsFrameLowering.cpp
index dda20c5..9ca69de 100644
--- a/lib/Target/Mips/MipsFrameLowering.cpp
+++ b/lib/Target/Mips/MipsFrameLowering.cpp
@@ -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);
+ }
}