summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAllocLocal.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-05-14 22:40:40 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-05-14 22:40:40 +0000
commitcdef6bc8de12cb4d02094a4a89a82277c0a5ff61 (patch)
tree64498109b8fa7680affd8163f46b79c890330643 /llvm/lib/CodeGen/RegAllocLocal.cpp
parent0160e55893ca5187b12c2ef48a8fe3e8f06b6fc4 (diff)
downloadbcm5719-llvm-cdef6bc8de12cb4d02094a4a89a82277c0a5ff61.tar.gz
bcm5719-llvm-cdef6bc8de12cb4d02094a4a89a82277c0a5ff61.zip
RegAllocLocal can count copies too
llvm-svn: 103830
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocLocal.cpp')
-rw-r--r--llvm/lib/CodeGen/RegAllocLocal.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/RegAllocLocal.cpp b/llvm/lib/CodeGen/RegAllocLocal.cpp
index 63725598248..8106a36c9b4 100644
--- a/llvm/lib/CodeGen/RegAllocLocal.cpp
+++ b/llvm/lib/CodeGen/RegAllocLocal.cpp
@@ -37,6 +37,7 @@ using namespace llvm;
STATISTIC(NumStores, "Number of stores added");
STATISTIC(NumLoads , "Number of loads added");
+STATISTIC(NumCopies, "Number of copies coalesced");
static RegisterRegAlloc
localRegAlloc("local", "local register allocator",
@@ -1156,8 +1157,10 @@ void RALocal::AllocateBasicBlock(MachineBasicBlock &MBB) {
if (TII->isMoveInstr(*MI, SrcCopyReg, DstCopyReg,
SrcCopySubReg, DstCopySubReg) &&
SrcCopyReg == DstCopyReg && SrcCopySubReg == DstCopySubReg &&
- DeadDefs.empty())
+ DeadDefs.empty()) {
+ ++NumCopies;
MBB.erase(MI);
+ }
}
MachineBasicBlock::iterator MI = MBB.getFirstTerminator();
OpenPOWER on IntegriCloud