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

CGRA model for category "decoupled". More...

#include <CGRAModel.hpp>

Inheritance diagram for CGRAOmp::DecoupledCGRA:
CGRAOmp::CGRAModel

Public Member Functions

 DecoupledCGRA (StringRef filename, AddressGenerator *AG, ConditionalStyle cond, InterLoopDep inter_loop_dep)
 Construct a new DecoupledCGRA. More...
 
 DecoupledCGRA (const DecoupledCGRA &)
 copy constructor More...
 
 ~DecoupledCGRA ()
 destructor More...
 
AddressGeneratorgetAG () const
 get the address generator More...
 
- Public Member Functions inherited from CGRAOmp::CGRAModel
 CGRAModel (StringRef filename, CGRACategory category, ConditionalStyle cond, InterLoopDep inter_loop_dep)
 Construct a new CGRAModel object. More...
 
 CGRAModel ()=delete
 
 CGRAModel (const CGRAModel &)=default
 Copy constructor. More...
 
 CGRAModel (CGRAModel &&)=default
 Move constructor. More...
 
Error addSupportedInst (StringRef opcode)
 add a supported generic insturction for the CGRA More...
 
void addCustomInst (StringRef opcode, ModuleAnalysisManager &MAM)
 add a custom insturction for the CGRA More...
 
Error add_map_entry (StringRef opcode, MapCondition *map_cond)
 add a instruction mapping entry to the CGRA model More...
 
InstMapEntryisSupported (Instruction *I)
 checking whether the instruction is supported by the CGRA or not. More...
 
template<typename DerivedT >
DerivedT * asDerived ()
 an interface to down cast to derived classes More...
 
CGRACategory getKind () const
 Get the category of the CGRA. More...
 
InterLoopDep getInterLoopDepType () const
 Get the Inter Loop Dependency avility. More...
 

Static Public Member Functions

static bool classof (const CGRAModel *M)
 for downcasting from CGRAModel by llvm::dyn_cast More...
 

Private Attributes

AddressGeneratorAG
 

Additional Inherited Members

- Public Types inherited from CGRAOmp::CGRAModel
enum  CGRACategory { CGRACategory::TimeMultiplexed, CGRACategory::Decoupled }
 a category of the CGRA model More...
 
enum  ConditionalStyle { ConditionalStyle::No, ConditionalStyle::MuxInst, ConditionalStyle::TriState }
 Ability to handle conditional execution (i.e., if-else part) More...
 
enum  InterLoopDep { InterLoopDep::No, InterLoopDep::Generic, InterLoopDep::BackwardInst }
 How to describe the inter-loop dependecy. More...
 
- Static Public Attributes inherited from CGRAOmp::CGRAModel
static StringMap< CGRACategoryCategoryMap
 Map category string to CGRACategory. More...
 
static StringMap< ConditionalStyleCondStyleMap
 Map category string to ConditionalStyle. More...
 
static StringMap< InterLoopDepInterLoopDepMap
 Map category string to InterLoopDep. More...
 
- Protected Attributes inherited from CGRAOmp::CGRAModel
StringRef filename
 
ConditionalStyle cond
 
InterLoopDep inter_loop_dep
 
CGRACategory category
 
InstMap inst_map
 

Detailed Description

CGRA model for category "decoupled".

Constructor & Destructor Documentation

◆ DecoupledCGRA() [1/2]

CGRAOmp::DecoupledCGRA::DecoupledCGRA ( StringRef  filename,
AddressGenerator AG,
ConditionalStyle  cond,
InterLoopDep  inter_loop_dep 
)
inline

Construct a new DecoupledCGRA.

Parameters
filenamefilename of the configration file
condconditional style of the CGRA
inter_loop_depability to handle inter loop dependency

◆ DecoupledCGRA() [2/2]

DecoupledCGRA::DecoupledCGRA ( const DecoupledCGRA rhs)

copy constructor

◆ ~DecoupledCGRA()

CGRAOmp::DecoupledCGRA::~DecoupledCGRA ( )
inline

destructor

Member Function Documentation

◆ classof()

static bool CGRAOmp::DecoupledCGRA::classof ( const CGRAModel M)
inlinestatic

for downcasting from CGRAModel by llvm::dyn_cast

◆ getAG()

AddressGenerator* CGRAOmp::DecoupledCGRA::getAG ( ) const
inline

get the address generator

Returns
a pointer to the AddressGenerator instance

Member Data Documentation

◆ AG

AddressGenerator* CGRAOmp::DecoupledCGRA::AG
private

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