CGRAOmp  0.1
Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
CGRAOmp::AffineAG Class Reference

A model of address generator compatible to memory access with affine expression the accessed memory address must be expressed in. More...

#include <CGRAModel.hpp>

Inheritance diagram for CGRAOmp::AffineAG:
CGRAOmp::AddressGenerator

Public Member Functions

 AffineAG ()
 Default constructor without any limitation about the nested level. More...
 
 AffineAG (int max_nests)
 Construct a new AffineAG object. More...
 
 AffineAG (const AffineAG &)
 copy constructor More...
 
int getMaxNests () const
 Get the maximum nested level supported by this AddressGenerator. More...
 
- Public Member Functions inherited from CGRAOmp::AddressGenerator
 AddressGenerator ()=delete
 
 AddressGenerator (Kind kind)
 
 AddressGenerator (const AddressGenerator &AG)=default
 
 AddressGenerator (AddressGenerator &&)=default
 
Kind getKind () const
 
template<typename DerivedT >
DerivedT * asDerived ()
 

Static Public Member Functions

static bool classof (const AG *ag)
 for downcasting from AddressGenerator by llvm::dyn_cast More...
 

Private Types

using AG = AddressGenerator
 

Private Attributes

int max_nests
 

Additional Inherited Members

- Public Types inherited from CGRAOmp::AddressGenerator
enum  Kind { Kind::Affine, Kind::FullState }
 

Detailed Description

A model of address generator compatible to memory access with affine expression the accessed memory address must be expressed in.

\[ C_0 + C_1x + C_2y + C_3z... \]

where \( x, y, z... \) are loop variable and \( C_0, C_1, ... \) are constants.

Member Typedef Documentation

◆ AG

Constructor & Destructor Documentation

◆ AffineAG() [1/3]

CGRAOmp::AffineAG::AffineAG ( )
inline

Default constructor without any limitation about the nested level.

◆ AffineAG() [2/3]

CGRAOmp::AffineAG::AffineAG ( int  max_nests)
inlineexplicit

Construct a new AffineAG object.

Parameters
max_nestsmaximum nested level to be allowed

◆ AffineAG() [3/3]

AffineAG::AffineAG ( const AffineAG rhs)

copy constructor

Member Function Documentation

◆ classof()

static bool CGRAOmp::AffineAG::classof ( const AG ag)
inlinestatic

for downcasting from AddressGenerator by llvm::dyn_cast

◆ getMaxNests()

int CGRAOmp::AffineAG::getMaxNests ( ) const
inline

Get the maximum nested level supported by this AddressGenerator.

Member Data Documentation

◆ max_nests

int CGRAOmp::AffineAG::max_nests
private

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