|
LLVM
8.0.1
|
#include "llvm/Transforms/Scalar/GuardWidening.h"#include <functional>#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/BranchProbabilityInfo.h"#include "llvm/Analysis/GuardUtils.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/LoopPass.h"#include "llvm/Analysis/PostDominators.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/IR/ConstantRange.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/PatternMatch.h"#include "llvm/Pass.h"#include "llvm/Support/Debug.h"#include "llvm/Support/KnownBits.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Utils/LoopUtils.h"
Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "guard-widening" |
Functions | |
| STATISTIC (GuardsEliminated, "Number of eliminated guards") | |
| STATISTIC (CondBranchEliminated, "Number of eliminated conditional branches") | |
| INITIALIZE_PASS_BEGIN (GuardWideningLegacyPass, "guard-widening", "Widen guards", false, false) if(WidenFrequentBranches) INITIALIZE_PASS_END(GuardWideningLegacyPass | |
| guard Widen false | INITIALIZE_PASS_BEGIN (LoopGuardWideningLegacyPass, "loop-guard-widening", "Widen guards (within a single loop, as a loop pass)", false, false) if(WidenFrequentBranches) INITIALIZE_PASS_END(LoopGuardWideningLegacyPass |
| guard Widen false loop guard Widen | guards (within a single loop, as a loop pass)" |
Variables | |
| static cl::opt< bool > | WidenFrequentBranches ("guard-widening-widen-frequent-branches", cl::Hidden, cl::desc("Widen conditions of explicit branches into dominating guards in " "case if their taken frequency exceeds threshold set by " "guard-widening-frequent-branch-threshold option"), cl::init(false)) |
| static cl::opt< unsigned > | FrequentBranchThreshold ("guard-widening-frequent-branch-threshold", cl::Hidden, cl::desc("When WidenFrequentBranches is set to true, this option is used " "to determine which branches are frequently taken. The criteria " "that a branch is taken more often than " "((FrequentBranchThreshold - 1) / FrequentBranchThreshold), then " "it is considered frequently taken"), cl::init(1000)) |
| guard | widening |
| guard Widen | guards |
| guard Widen | false |
| #define DEBUG_TYPE "guard-widening" |
Definition at line 65 of file GuardWidening.cpp.
| INITIALIZE_PASS_BEGIN | ( | GuardWideningLegacyPass | , |
| "guard-widening" | , | ||
| "Widen guards" | , | ||
| false | , | ||
| false | |||
| ) |
Referenced by llvm::GuardWideningPass::run().
| guard Widen false INITIALIZE_PASS_BEGIN | ( | LoopGuardWideningLegacyPass | , |
| "loop-guard-widening" | , | ||
| "Widen guards (within a single loop, as a loop pass)" | , | ||
| false | , | ||
| false | |||
| ) |
| STATISTIC | ( | GuardsEliminated | , |
| "Number of eliminated guards" | |||
| ) |
| STATISTIC | ( | CondBranchEliminated | , |
| "Number of eliminated conditional branches" | |||
| ) |
Definition at line 883 of file GuardWidening.cpp.
|
static |
| guard Widen guards |
Definition at line 883 of file GuardWidening.cpp.
|
static |
Referenced by llvm::GuardWideningPass::run().
Definition at line 883 of file GuardWidening.cpp.
1.8.13