diff options
author | Xinliang David Li <davidxl@google.com> | 2016-06-03 23:48:36 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2016-06-03 23:48:36 +0000 |
commit | ff2873742e5bd4c59a7769fbbe9d6397e0c298f7 (patch) | |
tree | c4a732d112dff33429f277a5a60955c105b56d9d /llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp | |
parent | 7bae9adb0850519505d9f134d1ed9b39bc2b04c9 (diff) | |
download | bcm5719-llvm-ff2873742e5bd4c59a7769fbbe9d6397e0c298f7.tar.gz bcm5719-llvm-ff2873742e5bd4c59a7769fbbe9d6397e0c298f7.zip |
Replace hard coded probability threshold with parameter /NFC
llvm-svn: 271751
Diffstat (limited to 'llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp b/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp index cf6d4018cb7..3554e4efa5f 100644 --- a/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp +++ b/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp @@ -24,9 +24,14 @@ INITIALIZE_PASS_BEGIN(MachineBranchProbabilityInfo, "machine-branch-prob", INITIALIZE_PASS_END(MachineBranchProbabilityInfo, "machine-branch-prob", "Machine Branch Probability Analysis", false, true) +cl::opt<unsigned> StaticLikelyProb( + "static-likely-prob", + cl::desc("branch probability threshold to be considered very likely"), + cl::init(80), cl::Hidden); + char MachineBranchProbabilityInfo::ID = 0; -void MachineBranchProbabilityInfo::anchor() { } +void MachineBranchProbabilityInfo::anchor() {} BranchProbability MachineBranchProbabilityInfo::getEdgeProbability( const MachineBasicBlock *Src, @@ -42,11 +47,9 @@ BranchProbability MachineBranchProbabilityInfo::getEdgeProbability( std::find(Src->succ_begin(), Src->succ_end(), Dst)); } -bool -MachineBranchProbabilityInfo::isEdgeHot(const MachineBasicBlock *Src, - const MachineBasicBlock *Dst) const { - // Hot probability is at least 4/5 = 80% - static BranchProbability HotProb(4, 5); +bool MachineBranchProbabilityInfo::isEdgeHot( + const MachineBasicBlock *Src, const MachineBasicBlock *Dst) const { + BranchProbability HotProb(StaticLikelyProb, 100); return getEdgeProbability(Src, Dst) > HotProb; } @@ -63,7 +66,7 @@ MachineBranchProbabilityInfo::getHotSucc(MachineBasicBlock *MBB) const { } } - static BranchProbability HotProb(4, 5); + BranchProbability HotProb(StaticLikelyProb, 100); if (getEdgeProbability(MBB, MaxSucc) >= HotProb) return MaxSucc; |