diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-05-05 17:22:53 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-05-05 17:22:53 +0000 |
commit | c5a8c08dba4aa57fcbd506561e1b5da0c00797a7 (patch) | |
tree | 554fc3d73d7d6a88b65809009ce0634577f65082 /llvm/lib/CodeGen/SplitKit.cpp | |
parent | 4cc5df700ecd183433b907a61d2d67a18b57bec0 (diff) | |
download | bcm5719-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.cpp | 4 |
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. |