|
LLVM
4.0.0
|
#include "llvm/Analysis/BranchProbabilityInfo.h"#include "llvm/ADT/PostOrderIterator.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/IR/CFG.h"#include "llvm/IR/Constants.h"#include "llvm/IR/Function.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/Metadata.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "branch-prob" |
Functions | |
| INITIALIZE_PASS_BEGIN (BranchProbabilityInfoWrapperPass,"branch-prob","Branch Probability Analysis", false, true) INITIALIZE_PASS_END(BranchProbabilityInfoWrapperPass | |
Variables | |
| branch | prob |
| branch Branch Probability | Analysis |
| branch Branch Probability | false |
| static const uint32_t | LBH_TAKEN_WEIGHT = 124 |
| static const uint32_t | LBH_NONTAKEN_WEIGHT = 4 |
| static const uint32_t | UR_TAKEN_WEIGHT = 1 |
| Unreachable-terminating branch taken weight. More... | |
| static const uint32_t | UR_NONTAKEN_WEIGHT = 1024*1024 - 1 |
| Unreachable-terminating branch not-taken weight. More... | |
| static const uint32_t | CC_TAKEN_WEIGHT = 4 |
| Weight for a branch taken going into a cold block. More... | |
| static const uint32_t | CC_NONTAKEN_WEIGHT = 64 |
| Weight for a branch not-taken into a cold block. More... | |
| static const uint32_t | PH_TAKEN_WEIGHT = 20 |
| static const uint32_t | PH_NONTAKEN_WEIGHT = 12 |
| static const uint32_t | ZH_TAKEN_WEIGHT = 20 |
| static const uint32_t | ZH_NONTAKEN_WEIGHT = 12 |
| static const uint32_t | FPH_TAKEN_WEIGHT = 20 |
| static const uint32_t | FPH_NONTAKEN_WEIGHT = 12 |
| static const uint32_t | IH_TAKEN_WEIGHT = 1024 * 1024 - 1 |
| Invoke-terminating normal branch taken weight. More... | |
| static const uint32_t | IH_NONTAKEN_WEIGHT = 1 |
| Invoke-terminating normal branch not-taken weight. More... | |
| #define DEBUG_TYPE "branch-prob" |
Definition at line 28 of file BranchProbabilityInfo.cpp.
| INITIALIZE_PASS_BEGIN | ( | BranchProbabilityInfoWrapperPass | , |
| "branch-prob" | , | ||
| "Branch Probability Analysis" | , | ||
| false | , | ||
| true | |||
| ) |
| branch Branch Probability Analysis |
Definition at line 33 of file BranchProbabilityInfo.cpp.
Weight for a branch not-taken into a cold block.
This is the weight for a branch not taken toward a block marked cold.
Definition at line 87 of file BranchProbabilityInfo.cpp.
Weight for a branch taken going into a cold block.
This is the weight for a branch taken toward a block marked cold. A block is marked cold if it's postdominated by a block containing a call to a cold function. Cold functions are those marked with attribute 'cold'.
Definition at line 81 of file BranchProbabilityInfo.cpp.
| branch Branch Probability false |
Definition at line 33 of file BranchProbabilityInfo.cpp.
Definition at line 96 of file BranchProbabilityInfo.cpp.
Definition at line 95 of file BranchProbabilityInfo.cpp.
Invoke-terminating normal branch not-taken weight.
This is the weight for branching to the unwind destination of an invoke instruction. This is essentially never taken.
Definition at line 109 of file BranchProbabilityInfo.cpp.
Invoke-terminating normal branch taken weight.
This is the weight for branching to the normal destination of an invoke instruction. We expect this to happen most of the time. Set the weight to an absurdly high value so that nested loops subsume it.
Definition at line 103 of file BranchProbabilityInfo.cpp.
Definition at line 59 of file BranchProbabilityInfo.cpp.
Definition at line 58 of file BranchProbabilityInfo.cpp.
Definition at line 90 of file BranchProbabilityInfo.cpp.
Definition at line 89 of file BranchProbabilityInfo.cpp.
| branch prob |
Definition at line 33 of file BranchProbabilityInfo.cpp.
Unreachable-terminating branch not-taken weight.
This is the weight for a branch not being taken toward a block that terminates (eventually) in unreachable. Such a branch is essentially never taken. Set the weight to an absurdly high value so that nested loops don't easily subsume it.
Definition at line 73 of file BranchProbabilityInfo.cpp.
Unreachable-terminating branch taken weight.
This is the weight for a branch being taken to a block that terminates (eventually) in unreachable. These are predicted as unlikely as possible.
Definition at line 65 of file BranchProbabilityInfo.cpp.
Definition at line 93 of file BranchProbabilityInfo.cpp.
Definition at line 92 of file BranchProbabilityInfo.cpp.
1.8.6