]> granicus.if.org Git - llvm/commitdiff
AArch64RegisterInfo: Simplify getReservedReg(); NFC
authorMatthias Braun <matze@braunis.de>
Thu, 2 Feb 2017 02:23:25 +0000 (02:23 +0000)
committerMatthias Braun <matze@braunis.de>
Thu, 2 Feb 2017 02:23:25 +0000 (02:23 +0000)
After marking a 32bit register and all its super registers the 64bit
register does not need to be marked again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293855 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AArch64/AArch64RegisterInfo.cpp

index 98fad71aa18a5dcb206c34cc251231f50183d5f2..baf15ac540cfbf7636e767c7b397fbf92bfd3483 100644 (file)
@@ -118,25 +118,17 @@ AArch64RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
 
   // FIXME: avoid re-calculating this every time.
   BitVector Reserved(getNumRegs());
-  markSuperRegs(Reserved, AArch64::SP);
-  markSuperRegs(Reserved, AArch64::XZR);
   markSuperRegs(Reserved, AArch64::WSP);
   markSuperRegs(Reserved, AArch64::WZR);
 
-  if (TFI->hasFP(MF) || TT.isOSDarwin()) {
-    markSuperRegs(Reserved, AArch64::FP);
+  if (TFI->hasFP(MF) || TT.isOSDarwin())
     markSuperRegs(Reserved, AArch64::W29);
-  }
 
-  if (MF.getSubtarget<AArch64Subtarget>().isX18Reserved()) {
-    markSuperRegs(Reserved, AArch64::X18); // Platform register
-    markSuperRegs(Reserved, AArch64::W18);
-  }
+  if (MF.getSubtarget<AArch64Subtarget>().isX18Reserved())
+    markSuperRegs(Reserved, AArch64::W18); // Platform register
 
-  if (hasBasePointer(MF)) {
-    markSuperRegs(Reserved, AArch64::X19);
+  if (hasBasePointer(MF))
     markSuperRegs(Reserved, AArch64::W19);
-  }
 
   assert(checkAllSuperRegsMarked(Reserved));
   return Reserved;