LLVM API Documentation
#include "llvm/Analysis/ProfileInfo.h"
#include "llvm/Function.h"
#include "llvm/Pass.h"
#include "llvm/Support/CFG.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Transforms/Scalar.h"
#include <set>
Include dependency graph for BasicBlockPlacement.cpp:
Go to the source code of this file.
Functions | |
FunctionPass * | llvm::createBlockPlacementPass () |
Variables | |
Statistic | NumMoved ("block-placement","Number of basic blocks moved") |
RegisterOpt< BlockPlacement > | X ("block-placement","Profile Guided Basic Block Placement") |
Function::iterator InsertPos |
InsertPos - This an iterator to the next place we want to insert a block.
Definition at line 64 of file BasicBlockPlacement.cpp.
Referenced by llvm::RSProfilers_std::IncrementCounterInBlock(), llvm::IncrementCounterInBlock(), InsertCodeToShowFunctionEntry(), InsertInstrumentationCall(), llvm::InsertProfilingInitCall(), llvm::LiveInterval::join(), TraceValuesAtBBExit(), and TryToSinkInstruction().
unsigned NumMovedBlocks |
NumMovedBlocks - Every time we move a block, increment this counter.
Definition at line 56 of file BasicBlockPlacement.cpp.
PI - The profile information that is guiding us.
Definition at line 52 of file BasicBlockPlacement.cpp.
std::set<BasicBlock*> PlacedBlocks |
PlacedBlocks - Every time we place a block, remember it so we don't get into infinite loops.
Definition at line 60 of file BasicBlockPlacement.cpp.
RegisterOpt<BlockPlacement> X("block-placement","Profile Guided Basic Block Placement") [static] |