summaryrefslogtreecommitdiff
path: root/lib/CodeGen/BranchFolding.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2009-11-18 19:29:37 +0000
committerBob Wilson <bob.wilson@apple.com>2009-11-18 19:29:37 +0000
commit7cd5d3e05ca9573dbac1a01846813037f901480c (patch)
tree4ab46acb6c9da2921dfd640177437653b83b9887 /lib/CodeGen/BranchFolding.cpp
parentebb5cb92169a04dd94fa65ae18aead271db3a4e5 (diff)
downloadllvm-7cd5d3e05ca9573dbac1a01846813037f901480c.tar.gz
llvm-7cd5d3e05ca9573dbac1a01846813037f901480c.tar.bz2
llvm-7cd5d3e05ca9573dbac1a01846813037f901480c.tar.xz
Add statistics for tail duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89225 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/BranchFolding.cpp')
-rw-r--r--lib/CodeGen/BranchFolding.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/BranchFolding.cpp b/lib/CodeGen/BranchFolding.cpp
index 94bfb7204b..e0a7825a26 100644
--- a/lib/CodeGen/BranchFolding.cpp
+++ b/lib/CodeGen/BranchFolding.cpp
@@ -41,8 +41,11 @@ using namespace llvm;
STATISTIC(NumDeadBlocks, "Number of dead blocks removed");
STATISTIC(NumBranchOpts, "Number of branches optimized");
STATISTIC(NumTailMerge , "Number of block tails merged");
+STATISTIC(NumTailDups , "Number of tail duplicated blocks");
+
static cl::opt<cl::boolOrDefault> FlagEnableTailMerge("enable-tail-merge",
cl::init(cl::BOU_UNSET), cl::Hidden);
+
// Throttle for huge numbers of predecessors (compile speed problems)
static cl::opt<unsigned>
TailMergeThreshold("tail-merge-threshold",
@@ -1107,6 +1110,7 @@ bool BranchFolder::TailDuplicate(MachineBasicBlock *TailBB,
PredBB->addSuccessor(*I);
Changed = true;
+ ++NumTailDups;
}
// If TailBB was duplicated into all its predecessors except for the prior