From bd3306aecb3a15e8967143b8cdbbccf2b1b19b74 Mon Sep 17 00:00:00 2001 From: patrick Date: Sat, 14 Jan 2017 19:55:43 +0000 Subject: Import LLVM 3.9.1 including clang and lld. --- .../lib/CodeGen/MachineBranchProbabilityInfo.cpp | 24 +++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'gnu/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp') diff --git a/gnu/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp b/gnu/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp index cf6d4018cb7..fe734061837 100644 --- a/gnu/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp +++ b/gnu/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp @@ -24,9 +24,21 @@ INITIALIZE_PASS_BEGIN(MachineBranchProbabilityInfo, "machine-branch-prob", INITIALIZE_PASS_END(MachineBranchProbabilityInfo, "machine-branch-prob", "Machine Branch Probability Analysis", false, true) +cl::opt + StaticLikelyProb("static-likely-prob", + cl::desc("branch probability threshold in percentage" + "to be considered very likely"), + cl::init(80), cl::Hidden); + +cl::opt ProfileLikelyProb( + "profile-likely-prob", + cl::desc("branch probability threshold in percentage to be considered" + " very likely when profile is available"), + cl::init(51), cl::Hidden); + char MachineBranchProbabilityInfo::ID = 0; -void MachineBranchProbabilityInfo::anchor() { } +void MachineBranchProbabilityInfo::anchor() {} BranchProbability MachineBranchProbabilityInfo::getEdgeProbability( const MachineBasicBlock *Src, @@ -42,11 +54,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 +73,7 @@ MachineBranchProbabilityInfo::getHotSucc(MachineBasicBlock *MBB) const { } } - static BranchProbability HotProb(4, 5); + BranchProbability HotProb(StaticLikelyProb, 100); if (getEdgeProbability(MBB, MaxSucc) >= HotProb) return MaxSucc; -- cgit v1.2.3-59-g8ed1b