struct BlockFrequencyInfoImplBase::LoopData

Declaration

struct BlockFrequencyInfoImplBase::LoopData { /* full declaration omitted */ };

Description

Data about a loop. Contains the data necessary to represent a loop as a pseudo-node once it's packaged.

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:223

Member Variables

public llvm::BlockFrequencyInfoImplBase::LoopData* Parent
The parent loop.
public bool IsPackaged = false
Whether this has been packaged.
public uint32_t NumHeaders = 1
Number of headers.
public llvm::BlockFrequencyInfoImplBase::LoopData:: ExitMap Exits
Successor edges (and weights).
public llvm::BlockFrequencyInfoImplBase::LoopData:: NodeList Nodes
Header and the members of the loop.
public llvm::BlockFrequencyInfoImplBase::LoopData:: HeaderMassList BackedgeMass
Mass returned to each loop header.
public llvm::BlockFrequencyInfoImplBase::BlockMass Mass
public llvm::BlockFrequencyInfoImplBase::Scaled64 Scale

Method Overview

  • public LoopData(llvm::BlockFrequencyInfoImplBase::LoopData * Parent, const llvm::BlockFrequencyInfoImplBase::BlockNode & Header)
  • public template <class It1, class It2> LoopData(llvm::BlockFrequencyInfoImplBase::LoopData * Parent, It1 FirstHeader, It1 LastHeader, It2 FirstOther, It2 LastOther)
  • public llvm::BlockFrequencyInfoImplBase::BlockNode getHeader() const
  • public HeaderMassList::difference_type getHeaderIndex(const llvm::BlockFrequencyInfoImplBase::BlockNode & B)
  • public bool isHeader(const llvm::BlockFrequencyInfoImplBase::BlockNode & Node) const
  • public bool isIrreducible() const
  • public iterator_range<NodeList::const_iterator> members() const
  • public NodeList::const_iterator members_begin() const
  • public NodeList::const_iterator members_end() const

Methods

LoopData(
    llvm::BlockFrequencyInfoImplBase::LoopData*
        Parent,
    const llvm::BlockFrequencyInfoImplBase::
        BlockNode& Header)

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:237

Parameters

llvm::BlockFrequencyInfoImplBase::LoopData* Parent
const llvm::BlockFrequencyInfoImplBase::BlockNode& Header

template <class It1, class It2>
LoopData(
    llvm::BlockFrequencyInfoImplBase::LoopData*
        Parent,
    It1 FirstHeader,
    It1 LastHeader,
    It2 FirstOther,
    It2 LastOther)

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:241

Templates

It1
It2

Parameters

llvm::BlockFrequencyInfoImplBase::LoopData* Parent
It1 FirstHeader
It1 LastHeader
It2 FirstOther
It2 LastOther

llvm::BlockFrequencyInfoImplBase::BlockNode
getHeader() const

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:256

HeaderMassList::difference_type getHeaderIndex(
    const llvm::BlockFrequencyInfoImplBase::
        BlockNode& B)

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:259

Parameters

const llvm::BlockFrequencyInfoImplBase::BlockNode& B

bool isHeader(
    const llvm::BlockFrequencyInfoImplBase::
        BlockNode& Node) const

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:249

Parameters

const llvm::BlockFrequencyInfoImplBase::BlockNode& Node

bool isIrreducible() const

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:257

iterator_range<NodeList::const_iterator> members()
    const

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:272

NodeList::const_iterator members_begin() const

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:267

NodeList::const_iterator members_end() const

Declared at: llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h:271