Know some identities about tokenfactor nodes.
[oota-llvm.git] / lib / CodeGen / RegAllocIterativeScan.cpp
index 4cdcc1d4dd221da849f71dd4e0947cbb5510cc29..ddbb52a880fcdaacf8ef00090379869a502874e2 100644 (file)
@@ -270,7 +270,7 @@ void RA::processActiveIntervals(IntervalPtrs::value_type cur)
     unsigned reg = i->reg;
 
     // remove expired intervals
-    if (i->expiredAt(cur->start())) {
+    if (i->expiredAt(cur->beginNumber())) {
       DEBUG(std::cerr << "\t\tinterval " << *i << " expired\n");
       if (MRegisterInfo::isVirtualRegister(reg))
         reg = vrm_->getPhys(reg);
@@ -279,7 +279,7 @@ void RA::processActiveIntervals(IntervalPtrs::value_type cur)
       std::iter_swap(ii, --ie);
     }
     // move inactive intervals to inactive list
-    else if (!i->liveAt(cur->start())) {
+    else if (!i->liveAt(cur->beginNumber())) {
       DEBUG(std::cerr << "\t\tinterval " << *i << " inactive\n");
       if (MRegisterInfo::isVirtualRegister(reg))
         reg = vrm_->getPhys(reg);
@@ -305,13 +305,13 @@ void RA::processInactiveIntervals(IntervalPtrs::value_type cur)
     unsigned reg = i->reg;
 
     // remove expired intervals
-    if (i->expiredAt(cur->start())) {
+    if (i->expiredAt(cur->beginNumber())) {
       DEBUG(std::cerr << "\t\tinterval " << *i << " expired\n");
       // swap with last element and move end iterator back one position
       std::iter_swap(ii, --ie);
     }
     // move re-activated intervals in active list
-    else if (i->liveAt(cur->start())) {
+    else if (i->liveAt(cur->beginNumber())) {
       DEBUG(std::cerr << "\t\tinterval " << *i << " active\n");
       if (MRegisterInfo::isVirtualRegister(reg))
         reg = vrm_->getPhys(reg);
@@ -394,11 +394,11 @@ void RA::assignRegOrSpillAtInterval(IntervalPtrs::value_type cur)
 
   DEBUG(std::cerr << "\tassigning stack slot at interval "<< *cur << ":\n");
 
-  float minWeight = HUGE_VAL;
+  float minWeight = (float)HUGE_VAL;
   unsigned minReg = 0;
   const TargetRegisterClass* rc = mf_->getSSARegMap()->getRegClass(cur->reg);
-  for (TargetRegisterClass::iterator i = rc->allocation_order_begin(*mf_);
-       i != rc->allocation_order_end(*mf_); ++i) {
+  for (TargetRegisterClass::iterator i = rc->allocation_order_begin(*mf_),
+       e = rc->allocation_order_end(*mf_); i != e; ++i) {
     unsigned reg = *i;
     if (minWeight > spillWeights_[reg]) {
       minWeight = spillWeights_[reg];
@@ -424,7 +424,7 @@ void RA::assignRegOrSpillAtInterval(IntervalPtrs::value_type cur)
   toSpill[minReg] = true;
   for (const unsigned* as = mri_->getAliasSet(minReg); *as; ++as)
     toSpill[*as] = true;
-  unsigned earliestStart = cur->start();
+  unsigned earliestStart = cur->beginNumber();
 
   std::set<unsigned> spilled;
 
@@ -477,8 +477,8 @@ unsigned RA::getFreePhysReg(LiveInterval* cur)
   const TargetRegisterClass* rc = mf_->getSSARegMap()->getRegClass(cur->reg);
 
   unsigned freeReg = 0;
-  for (TargetRegisterClass::iterator i = rc->allocation_order_begin(*mf_);
-       i != rc->allocation_order_end(*mf_); ++i) {
+  for (TargetRegisterClass::iterator i = rc->allocation_order_begin(*mf_),
+       e = rc->allocation_order_end(*mf_); i != e; ++i) {
     unsigned reg = *i;
     if (prt_->isRegAvail(reg) &&
         (!freeReg || inactiveCounts[freeReg] < inactiveCounts[reg]))