summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SplitKit.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-05-05 17:22:53 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-05-05 17:22:53 +0000
commitc5a8c08dba4aa57fcbd506561e1b5da0c00797a7 (patch)
tree554fc3d73d7d6a88b65809009ce0634577f65082 /llvm/lib/CodeGen/SplitKit.cpp
parent4cc5df700ecd183433b907a61d2d67a18b57bec0 (diff)
downloadbcm5719-llvm-c5a8c08dba4aa57fcbd506561e1b5da0c00797a7.tar.gz
bcm5719-llvm-c5a8c08dba4aa57fcbd506561e1b5da0c00797a7.zip
Add some statistics to the splitting and spilling frameworks.
llvm-svn: 130931
Diffstat (limited to 'llvm/lib/CodeGen/SplitKit.cpp')
-rw-r--r--llvm/lib/CodeGen/SplitKit.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SplitKit.cpp b/llvm/lib/CodeGen/SplitKit.cpp
index feb3d3481b4..739ba362745 100644
--- a/llvm/lib/CodeGen/SplitKit.cpp
+++ b/llvm/lib/CodeGen/SplitKit.cpp
@@ -30,6 +30,8 @@ using namespace llvm;
STATISTIC(NumFinished, "Number of splits finished");
STATISTIC(NumSimple, "Number of splits that were simple");
+STATISTIC(NumCopies, "Number of copies inserted for splitting");
+STATISTIC(NumRemats, "Number of rematerialized defs for splitting");
//===----------------------------------------------------------------------===//
// Split Analysis
@@ -589,12 +591,14 @@ VNInfo *SplitEditor::defFromParent(unsigned RegIdx,
LiveRangeEdit::Remat RM(ParentVNI);
if (Edit->canRematerializeAt(RM, UseIdx, true, LIS)) {
Def = Edit->rematerializeAt(MBB, I, LI->reg, RM, LIS, TII, TRI, Late);
+ ++NumRemats;
} else {
// Can't remat, just insert a copy from parent.
CopyMI = BuildMI(MBB, I, DebugLoc(), TII.get(TargetOpcode::COPY), LI->reg)
.addReg(Edit->getReg());
Def = LIS.getSlotIndexes()->insertMachineInstrInMaps(CopyMI, Late)
.getDefIndex();
+ ++NumCopies;
}
// Define the value in Reg.
OpenPOWER on IntegriCloud