CGRAOmp  0.1
Public Types | Public Member Functions | Protected Attributes | List of all members
CGRAOmp::LoopDependency Class Reference

A base class for loop dependency relationship. More...

#include <LoopDependencyAnalysis.hpp>

Inheritance diagram for CGRAOmp::LoopDependency:
CGRAOmp::InductionVariableDependency CGRAOmp::MemoryLoopDependency CGRAOmp::SimpleLoopDependency

Public Types

enum  DepKind { DepKind::Simple, DepKind::Memory, DepKind::InductionVar }
 

Public Member Functions

 LoopDependency (DepKind kind, Value *def, Value *init, PHINode *phi, int distance)
 Construct a new Loop Dependency object for normal loop carried dependency. More...
 
DepKind getKind () const
 
bool correspond (PHINode *P)
 
Value * getDef ()
 
Instruction * getDefInst ()
 
Value * getInit ()
 
PHINode * getPhi ()
 
int getDistance ()
 

Protected Attributes

PHINode * phi
 
DepKind kind
 
Value * def
 
Value * init
 
int distance
 

Detailed Description

A base class for loop dependency relationship.

Member Enumeration Documentation

◆ DepKind

Enumerator
Simple 
Memory 
InductionVar 

Constructor & Destructor Documentation

◆ LoopDependency()

CGRAOmp::LoopDependency::LoopDependency ( DepKind  kind,
Value *  def,
Value *  init,
PHINode *  phi,
int  distance 
)
inline

Construct a new Loop Dependency object for normal loop carried dependency.

Parameters
def
use
phi

Member Function Documentation

◆ correspond()

bool CGRAOmp::LoopDependency::correspond ( PHINode *  P)
inline

◆ getDef()

Value* CGRAOmp::LoopDependency::getDef ( )
inline

◆ getDefInst()

Instruction* CGRAOmp::LoopDependency::getDefInst ( )
inline

◆ getDistance()

int CGRAOmp::LoopDependency::getDistance ( )
inline

◆ getInit()

Value* CGRAOmp::LoopDependency::getInit ( )
inline

◆ getKind()

DepKind CGRAOmp::LoopDependency::getKind ( ) const
inline

◆ getPhi()

PHINode* CGRAOmp::LoopDependency::getPhi ( )
inline

Member Data Documentation

◆ def

Value* CGRAOmp::LoopDependency::def
protected

◆ distance

int CGRAOmp::LoopDependency::distance
protected

◆ init

Value* CGRAOmp::LoopDependency::init
protected

◆ kind

DepKind CGRAOmp::LoopDependency::kind
protected

◆ phi

PHINode* CGRAOmp::LoopDependency::phi
protected

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