LLVM API Documentation

Public Types | Public Member Functions | Public Attributes
llvm::BlockFrequencyInfoImplBase::LoopData Struct Reference

Data about a loop. More...

#include <BlockFrequencyInfoImpl.h>

Collaboration diagram for llvm::BlockFrequencyInfoImplBase::LoopData:
Collaboration graph
[legend]

List of all members.

Public Types

typedef SmallVector< std::pair
< BlockNode, BlockMass >, 4 > 
ExitMap
typedef SmallVector< BlockNode, 4 > NodeList

Public Member Functions

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

Public Attributes

LoopDataParent
 The parent loop.
bool IsPackaged
 Whether this has been packaged.
uint32_t NumHeaders
 Number of headers.
ExitMap Exits
 Successor edges (and weights).
NodeList Nodes
 Header and the members of the loop.
BlockMass BackedgeMass
 Mass returned to loop header.
BlockMass Mass
Scaled64 Scale

Detailed Description

Data about a loop.

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

Definition at line 196 of file BlockFrequencyInfoImpl.h.


Member Typedef Documentation

Definition at line 197 of file BlockFrequencyInfoImpl.h.

Definition at line 198 of file BlockFrequencyInfoImpl.h.


Constructor & Destructor Documentation

Definition at line 208 of file BlockFrequencyInfoImpl.h.

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

Member Function Documentation

Definition at line 230 of file BlockFrequencyInfoImpl.h.

References llvm::make_range(), members_begin(), and members_end().

Definition at line 229 of file BlockFrequencyInfoImpl.h.

References llvm::SmallVectorTemplateCommon< T, typename >::end(), and Nodes.

Referenced by members().


Member Data Documentation

Whether this has been packaged.

Definition at line 200 of file BlockFrequencyInfoImpl.h.

Referenced by llvm::BlockFrequencyInfoImplBase::packageLoop().

Definition at line 205 of file BlockFrequencyInfoImpl.h.

Number of headers.

Definition at line 201 of file BlockFrequencyInfoImpl.h.

Referenced by isHeader(), isIrreducible(), LoopData(), and members_begin().

The parent loop.

Definition at line 199 of file BlockFrequencyInfoImpl.h.

Referenced by llvm::BlockFrequencyInfoImplBase::WorkingData::getPackagedLoop().


The documentation for this struct was generated from the following file: