LLVM API Documentation

BasicBlockPlacement.cpp File Reference

#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

FunctionPassllvm::createBlockPlacementPass ()

Variables

Statistic NumMoved ("block-placement","Number of basic blocks moved")
ProfileInfoPI
unsigned NumMovedBlocks
std::set< BasicBlock * > PlacedBlocks
Function::iterator InsertPos
RegisterOpt< BlockPlacement > X ("block-placement","Profile Guided Basic Block Placement")


Variable Documentation

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().

Statistic NumMoved("block-placement","Number of basic blocks moved") [static]

unsigned NumMovedBlocks

NumMovedBlocks - Every time we move a block, increment this counter.

Definition at line 56 of file BasicBlockPlacement.cpp.

ProfileInfo* PI

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]