aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/BranchProbabilityInfo.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-07-16Remove "LoopInfo.h" include from BranchProbabilityInfo.h.Jakub Staszak1-0/+5
llvm-svn: 135353
2011-07-15Fix pointer heuristic. Check whether predicator is ICMP_NE instead of if it isJakub Staszak1-2/+2
not isEquality(). llvm-svn: 135296
2011-06-23Calculate backedge probability correctly.Jakub Staszak1-24/+0
llvm-svn: 133776
2011-06-23Introduce BlockFrequency analysis for BasicBlocks.Jakub Staszak1-0/+24
llvm-svn: 133766
2011-06-16Introduce MachineBranchProbabilityInfo class, which has similar API toJakub Staszak1-1/+1
BranchProbabilityInfo (expect setEdgeWeight which is not available here). Branch Weights are kept in MachineBasicBlocks. To turn off this analysis set -use-mbpi=false. llvm-svn: 133184
2011-06-13Move class into an anonymous namespace.Benjamin Kramer1-1/+2
llvm-svn: 132925
2011-06-11Branch profiling: floating-point avoidance.Andrew Trick1-54/+63
Patch by: Jakub Staszak! Introduces BranchProbability. Changes unsigned to uint32_t all over and uint64_t only when overflow is expected. llvm-svn: 132867
2011-06-04Fold assert-only-used variable into the assert.Nick Lewycky1-2/+1
llvm-svn: 132620
2011-06-04Missing include of climits in the new BranchProbability pass.Andrew Trick1-0/+1
llvm-svn: 132616
2011-06-04New BranchProbabilityInfo analysis. Patch by Jakub Staszak!Andrew Trick1-0/+348
BranchProbabilityInfo provides an interface for IR passes to query the likelihood that control follows a CFG edge. This patch provides an initial implementation of static branch predication that will populate BranchProbabilityInfo for branches with no external profile information using very simple heuristics. It currently isn't hooked up to any external profile data, so static prediction does all the work. llvm-svn: 132613