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.