Use newly added API in MRegisterInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16060 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 6cf95d2..14bccf6 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -87,6 +87,7 @@
   tm_ = &fn.getTarget();
   mri_ = tm_->getRegisterInfo();
   lv_ = &getAnalysis<LiveVariables>();
+  allocatableRegs_ = mri_->getAllocatableSet(fn);
 
   // number MachineInstrs
   unsigned miIndex = 0;
@@ -484,7 +485,7 @@
                                       unsigned reg) {
   if (MRegisterInfo::isVirtualRegister(reg))
     handleVirtualRegisterDef(MBB, MI, getOrCreateInterval(reg));
-  else if (lv_->getAllocatablePhysicalRegisters()[reg]) {
+  else if (allocatableRegs_[reg]) {
     handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(reg));
     for (const unsigned* AS = mri_->getAliasSet(reg); *AS; ++AS)
       handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(*AS));
@@ -541,10 +542,8 @@
     // on not allocatable physical registers
     unsigned regA, regB;
     if (TII.isMoveInstr(*mi, regA, regB) &&
-        (MRegisterInfo::isVirtualRegister(regA) ||
-         lv_->getAllocatablePhysicalRegisters()[regA]) &&
-        (MRegisterInfo::isVirtualRegister(regB) ||
-         lv_->getAllocatablePhysicalRegisters()[regB])) {
+        (MRegisterInfo::isVirtualRegister(regA) || allocatableRegs_[regA]) &&
+        (MRegisterInfo::isVirtualRegister(regB) || allocatableRegs_[regB])) {
 
       // Get representative registers.
       regA = rep(regA);