Add an x86 prefix encoding for instructions that would decode to a different instruct...
[oota-llvm.git] / lib / Target / Mips / MipsRegisterInfo.cpp
index 14c96a06976655a4e7ba5f7519b876df7b30ed77..c6563708b26c7532e960ec8d3dd8f12add7f24cc 100644 (file)
@@ -187,11 +187,12 @@ getReservedRegs(const MachineFunction &MF) const {
 
   // Reserve RA if in mips16 mode.
   if (Subtarget.inMips16Mode()) {
+    const MipsFunctionInfo *MipsFI = MF.getInfo<MipsFunctionInfo>();
     Reserved.set(Mips::RA);
     Reserved.set(Mips::RA_64);
     Reserved.set(Mips::T0);
     Reserved.set(Mips::T1);
-    if (MF.getFunction()->hasFnAttribute("saveS2"))
+    if (MF.getFunction()->hasFnAttribute("saveS2") || MipsFI->hasSaveS2())
       Reserved.set(Mips::S2);
   }