LLVM  3.7.0
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::BlockFrequencyInfoImplBase::Weight Struct Reference

Unscaled probability weight. More...

#include <BlockFrequencyInfoImpl.h>

Collaboration diagram for llvm::BlockFrequencyInfoImplBase::Weight:
[legend]

Public Types

enum  DistType { Local, Exit, Backedge }
 

Public Member Functions

 Weight ()
 
 Weight (DistType Type, BlockNode TargetNode, uint64_t Amount)
 

Public Attributes

DistType Type
 
BlockNode TargetNode
 
uint64_t Amount
 

Detailed Description

Unscaled probability weight.

Probability weight for an edge in the graph (including the successor/target node).

All edges in the original function are 32-bit. However, exit edges from loop packages are taken from 64-bit exit masses, so we need 64-bits of space in general.

In addition to the raw weight amount, Weight stores the type of the edge in the current context (i.e., the context of the loop being processed). Is this a local edge within the loop, an exit from the loop, or a backedge to the loop header?

Definition at line 330 of file BlockFrequencyInfoImpl.h.

Member Enumeration Documentation

Enumerator
Local 
Exit 
Backedge 

Definition at line 331 of file BlockFrequencyInfoImpl.h.

Constructor & Destructor Documentation

llvm::BlockFrequencyInfoImplBase::Weight::Weight ( )
inline

Definition at line 335 of file BlockFrequencyInfoImpl.h.

llvm::BlockFrequencyInfoImplBase::Weight::Weight ( DistType  Type,
BlockNode  TargetNode,
uint64_t  Amount 
)
inline

Definition at line 336 of file BlockFrequencyInfoImpl.h.

Member Data Documentation

uint64_t llvm::BlockFrequencyInfoImplBase::Weight::Amount
BlockNode llvm::BlockFrequencyInfoImplBase::Weight::TargetNode
DistType llvm::BlockFrequencyInfoImplBase::Weight::Type

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