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


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 >


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.
std::string getBlockName (const BasicBlock *BB)
 Get the name of a BasicBlock.

Detailed Description

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

Function Documentation

◆ getBlockName() [1/2]

std::string llvm::bfi_detail::getBlockName ( const BasicBlock BB)

Get the name of a BasicBlock.

Definition at line 583 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 575 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 

Definition at line 159 of file BlockFrequencyInfoImpl.h.

◆ operator*() [2/2]

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

Definition at line 162 of file BlockFrequencyInfoImpl.h.

◆ operator+()

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

Definition at line 153 of file BlockFrequencyInfoImpl.h.

◆ operator-()

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

Definition at line 156 of file BlockFrequencyInfoImpl.h.

◆ operator<<()

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

Definition at line 166 of file BlockFrequencyInfoImpl.h.

References OS, and X.