LLVM 20.0.0git
Classes | Functions
llvm::bfi_detail Namespace Reference

Classes

class  BFICallbackVH
 
class  BFICallbackVH< BasicBlock, BFIImplT >
 
class  BFICallbackVH< MachineBasicBlock, BFIImplT >
 Dummy implementation since MachineBasicBlocks aren't Values, so ValueHandles don't apply to them. More...
 
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.
 
template<>
std::string getBlockName (const BasicBlock *BB)
 Get the name of a BasicBlock.
 

Detailed Description

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

Function Documentation

◆ getBlockName() [1/2]

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

Get the name of a BasicBlock.

Definition at line 580 of file BlockFrequencyInfoImpl.h.

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

◆ getBlockName() [2/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 572 of file BlockFrequencyInfoImpl.h.

References assert().

Referenced by llvm::BlockFrequencyInfoImplBase::addToDist(), llvm::BlockFrequencyInfoImplBase::adjustLoopHeaderMass(), llvm::BlockFrequencyInfoImplBase::getBlockFreq(), llvm::BlockFrequencyInfoImplBase::getLoopName(), llvm::BlockFrequencyInfoImplBase::packageLoop(), llvm::BlockFrequencyInfoImpl< BT >::print(), and llvm::BlockFrequencyInfoImpl< BT >::verifyMatch().

◆ operator*() [1/2]

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

Definition at line 159 of file BlockFrequencyInfoImpl.h.

◆ operator*() [2/2]

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

Definition at line 162 of file BlockFrequencyInfoImpl.h.

◆ operator+()

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

Definition at line 153 of file BlockFrequencyInfoImpl.h.

◆ operator-()

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

Definition at line 156 of file BlockFrequencyInfoImpl.h.

◆ operator<<()

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

Definition at line 166 of file BlockFrequencyInfoImpl.h.

References OS, and X.