|
LLVM
8.0.1
|
#include "llvm/ADT/PostOrderIterator.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/BlockFrequencyInfo.h"#include "llvm/Analysis/BranchProbabilityInfo.h"#include "llvm/Analysis/CFG.h"#include "llvm/Analysis/OptimizationRemarkEmitter.h"#include "llvm/Analysis/PostDominators.h"#include "llvm/Analysis/ProfileSummaryInfo.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/CFG.h"#include "llvm/IR/CallSite.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/DiagnosticInfo.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Function.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/Module.h"#include "llvm/IR/PassManager.h"#include "llvm/IR/Type.h"#include "llvm/IR/Use.h"#include "llvm/IR/User.h"#include "llvm/IR/Value.h"#include "llvm/Pass.h"#include "llvm/Support/BlockFrequency.h"#include "llvm/Support/BranchProbability.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Transforms/IPO.h"#include "llvm/Transforms/IPO/HotColdSplitting.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Utils/BasicBlockUtils.h"#include "llvm/Transforms/Utils/Cloning.h"#include "llvm/Transforms/Utils/CodeExtractor.h"#include "llvm/Transforms/Utils/Local.h"#include "llvm/Transforms/Utils/SSAUpdater.h"#include "llvm/Transforms/Utils/ValueMapper.h"#include <algorithm>#include <cassert>
Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "hotcoldsplit" |
Typedefs | |
| using | BlockTy = std::pair< BasicBlock *, unsigned > |
| A pair of (basic block, score). More... | |
Functions | |
| STATISTIC (NumColdRegionsFound, "Number of cold regions found.") | |
| STATISTIC (NumColdRegionsOutlined, "Number of cold regions outlined.") | |
| INITIALIZE_PASS_BEGIN (HotColdSplittingLegacyPass, "hotcoldsplit", "Hot Cold Splitting", false, false) INITIALIZE_PASS_END(HotColdSplittingLegacyPass | |
Variables | |
| static cl::opt< bool > | EnableStaticAnalyis ("hot-cold-static-analysis", cl::init(true), cl::Hidden) |
| static cl::opt< int > | MinOutliningThreshold ("min-outlining-thresh", cl::init(3), cl::Hidden, cl::desc("Code size threshold for outlining within a " "single BB (as a multiple of TCC_Basic)")) |
| hotcoldsplit | |
| Hot Cold | Splitting |
| Hot Cold | false |
| #define DEBUG_TYPE "hotcoldsplit" |
Definition at line 61 of file HotColdSplitting.cpp.
| using BlockTy = std::pair<BasicBlock *, unsigned> |
A pair of (basic block, score).
Definition at line 296 of file HotColdSplitting.cpp.
| INITIALIZE_PASS_BEGIN | ( | HotColdSplittingLegacyPass | , |
| "hotcoldsplit" | , | ||
| "Hot Cold Splitting" | , | ||
| false | , | ||
| false | |||
| ) |
Referenced by llvm::HotColdSplittingPass::run().
| STATISTIC | ( | NumColdRegionsFound | , |
| "Number of cold regions found." | |||
| ) |
| STATISTIC | ( | NumColdRegionsOutlined | , |
| "Number of cold regions outlined." | |||
| ) |
| Hot Cold false |
Definition at line 638 of file HotColdSplitting.cpp.
| hotcoldsplit |
Definition at line 638 of file HotColdSplitting.cpp.
|
static |
| Hot Cold Splitting |
Definition at line 638 of file HotColdSplitting.cpp.
1.8.13