Hoisted some loop invariant smallvector lookups out of a MachineLICM loop
[oota-llvm.git] / lib / CodeGen / MachineLICM.cpp
index 3a8270002dde20c4fd85f9f5b86e9d93087df1b2..68548387976d19923d35b8e7882bfeb54908c7c8 100644 (file)
@@ -1036,9 +1036,11 @@ bool MachineLICM::CanCauseHighRegPressure(DenseMap<unsigned, int> &Cost) {
       continue;
 
     unsigned RCId = CI->first;
+    unsigned Limit = RegLimit[RCId];
+    int Cost = CI->second;
     for (unsigned i = BackTrace.size(); i != 0; --i) {
       SmallVector<unsigned, 8> &RP = BackTrace[i-1];
-      if (RP[RCId] + CI->second >= RegLimit[RCId])
+      if (RP[RCId] + Cost >= Limit)
         return true;
     }
   }