[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLocal.cpp

Evan Cheng evan.cheng at apple.com
Wed Feb 14 21:59:46 PST 2007



Changes in directory llvm/lib/CodeGen:

LiveIntervalAnalysis.cpp updated: 1.205 -> 1.206
RegAllocLocal.cpp updated: 1.100 -> 1.101
---
Log message:

Use BitVector instead of vector<bool> which can be extremely slow.

---
Diffs of the changes:  (+2 -2)

 LiveIntervalAnalysis.cpp |    2 +-
 RegAllocLocal.cpp        |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.205 llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.206
--- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.205	Mon Feb 12 19:30:55 2007
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp	Wed Feb 14 23:59:24 2007
@@ -461,7 +461,7 @@
       // If the kill happens after the definition, we have an intra-block
       // live range.
       if (killIdx > defIndex) {
-        assert(vi.AliveBlocks.empty() &&
+        assert(vi.AliveBlocks.none() &&
                "Shouldn't be alive across any blocks!");
         LiveRange LR(defIndex, killIdx, ValNum);
         interval.addRange(LR);


Index: llvm/lib/CodeGen/RegAllocLocal.cpp
diff -u llvm/lib/CodeGen/RegAllocLocal.cpp:1.100 llvm/lib/CodeGen/RegAllocLocal.cpp:1.101
--- llvm/lib/CodeGen/RegAllocLocal.cpp:1.100	Wed Jan 31 23:31:50 2007
+++ llvm/lib/CodeGen/RegAllocLocal.cpp	Wed Feb 14 23:59:24 2007
@@ -789,7 +789,7 @@
   // is allocatable.  To handle this, we mark all unallocatable registers as
   // being pinned down, permanently.
   {
-    std::vector<bool> Allocable = RegInfo->getAllocatableSet(Fn);
+    BitVector Allocable = RegInfo->getAllocatableSet(Fn);
     for (unsigned i = 0, e = Allocable.size(); i != e; ++i)
       if (!Allocable[i])
         PhysRegsUsed[i] = -2;  // Mark the reg unallocable.






More information about the llvm-commits mailing list