Move virtual function call out of loop to speed up getFreePhysReg by about
authorNate Begeman <natebegeman@mac.com>
Tue, 7 Dec 2004 05:25:53 +0000 (05:25 +0000)
committerNate Begeman <natebegeman@mac.com>
Tue, 7 Dec 2004 05:25:53 +0000 (05:25 +0000)
20%, shaving 0.1s off hbd compile time on my g5.  Yay.

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

lib/CodeGen/RegAllocLinearScan.cpp

index c54152a1492eda026b04fa52f1918ba564426f08..140846fe01e3b63f1b1889c44ae08829be04e4ce 100644 (file)
@@ -608,8 +608,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]))