summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-02-15 05:59:24 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-02-15 05:59:24 +0000
commit14edd1989b06ed7cc7f933d691b56e0a67fa76ce (patch)
treec900ea86fb27e3a8ad33c43b74332117ba8c3ea8 /llvm/lib/CodeGen
parentee7c774b8e0d20d1d2a2846440da4026fa619cf2 (diff)
downloadbcm5719-llvm-14edd1989b06ed7cc7f933d691b56e0a67fa76ce.tar.gz
bcm5719-llvm-14edd1989b06ed7cc7f933d691b56e0a67fa76ce.zip
Use BitVector instead of vector<bool> which can be extremely slow.
llvm-svn: 34302
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/LiveIntervalAnalysis.cpp2
-rw-r--r--llvm/lib/CodeGen/RegAllocLocal.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
index 83852ca8b9c..57a73d2642b 100644
--- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -461,7 +461,7 @@ void LiveIntervals::handleVirtualRegisterDef(MachineBasicBlock *mbb,
// 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);
diff --git a/llvm/lib/CodeGen/RegAllocLocal.cpp b/llvm/lib/CodeGen/RegAllocLocal.cpp
index 74d76c14fc4..f862023e8f8 100644
--- a/llvm/lib/CodeGen/RegAllocLocal.cpp
+++ b/llvm/lib/CodeGen/RegAllocLocal.cpp
@@ -789,7 +789,7 @@ bool RA::runOnMachineFunction(MachineFunction &Fn) {
// 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.
OpenPOWER on IntegriCloud