LLVM  8.0.1
Classes | Functions
llvm::bfi_detail Namespace Reference

Classes

struct  BlockEdgesAdder
 
class  BlockMass
 Mass of a block. More...
 
struct  IrreducibleGraph
 Graph of irreducible control flow. More...
 
struct  TypeMap
 
struct  TypeMap< BasicBlock >
 
struct  TypeMap< MachineBasicBlock >
 

Functions

BlockMass operator+ (BlockMass L, BlockMass R)
 
BlockMass operator- (BlockMass L, BlockMass R)
 
BlockMass operator* (BlockMass L, BranchProbability R)
 
BlockMass operator* (BranchProbability L, BlockMass R)
 
raw_ostreamoperator<< (raw_ostream &OS, BlockMass X)
 
template<class BlockT >
std::string getBlockName (const BlockT *BB)
 Get the name of a MachineBasicBlock. More...
 
template<>
std::string getBlockName (const BasicBlock *BB)
 Get the name of a BasicBlock. More...
 

Detailed Description

Note
This should be a lambda, but that crashes GCC 4.7.

Function Documentation

◆ getBlockName() [1/2]

template<class BlockT >
std::string llvm::bfi_detail::getBlockName ( const BlockT *  BB)

Get the name of a MachineBasicBlock.

Get the name of a MachineBasicBlock. It's templated so that including from CodeGen is unnecessary (that would be a layering issue).

This is used mainly for debug output. The name is similar to MachineBasicBlock::getFullName(), but skips the name of the function.

Definition at line 570 of file BlockFrequencyInfoImpl.h.

References assert(), and llvm::Twine::str().

Referenced by llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), llvm::BlockFrequencyInfoImplBase::getLoopName(), llvm::BlockFrequencyInfoImplBase::getLoopPackage(), llvm::getWeightFromBranchProb(), llvm::BlockFrequencyInfoImplBase::packageLoop(), llvm::BlockFrequencyInfoImpl< llvm::BitTracker >::print(), and llvm::BlockFrequencyInfoImpl< llvm::BitTracker >::setBlockFreq().

◆ getBlockName() [2/2]

template<>
std::string llvm::bfi_detail::getBlockName ( const BasicBlock BB)
inline

Get the name of a BasicBlock.

Definition at line 578 of file BlockFrequencyInfoImpl.h.

References assert(), llvm::Value::getName(), and llvm::StringRef::str().

◆ operator*() [1/2]

BlockMass llvm::bfi_detail::operator* ( BlockMass  L,
BranchProbability  R 
)
inline

◆ operator*() [2/2]

BlockMass llvm::bfi_detail::operator* ( BranchProbability  L,
BlockMass  R 
)
inline

◆ operator+()

BlockMass llvm::bfi_detail::operator+ ( BlockMass  L,
BlockMass  R 
)
inline

◆ operator-()

BlockMass llvm::bfi_detail::operator- ( BlockMass  L,
BlockMass  R 
)
inline

◆ operator<<()

raw_ostream& llvm::bfi_detail::operator<< ( raw_ostream OS,
BlockMass  X 
)
inline

Definition at line 157 of file BlockFrequencyInfoImpl.h.

References llvm::bfi_detail::BlockMass::print().