CGRAOmp  0.1
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy > Class Template Reference

A template class for verify the instruction availability It is possible to customize the routine with specilization. More...

#include <VerifyPass.hpp>

Inheritance diagram for CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >:

Public Types

using Result = InstAvailability
 

Public Member Functions

Result run (Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR)
 

Private Types

using InstList = SmallVector< Instruction * >
 

Private Member Functions

Optional< InstListcheckUnsupportedInst (Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR)
 default routine to check whether the kernel contains unspported instructions More...
 

Private Attributes

friend AnalysisInfoMixin< VerifyInstAvailabilityPass< VerifyPassTy > >
 

Static Private Attributes

static AnalysisKey Key
 

Detailed Description

template<typename VerifyPassTy>
class CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >

A template class for verify the instruction availability It is possible to customize the routine with specilization.

Template Parameters
VerifyPassTyType of verification e.g., DecoupleVerifyPass

Member Typedef Documentation

◆ InstList

template<typename VerifyPassTy >
using CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >::InstList = SmallVector<Instruction*>
private

◆ Result

template<typename VerifyPassTy >
using CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >::Result = InstAvailability

Member Function Documentation

◆ checkUnsupportedInst()

template<typename VerifyPassTy >
Optional<InstList> CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >::checkUnsupportedInst ( Loop &  L,
LoopAnalysisManager &  AM,
LoopStandardAnalysisResults &  AR 
)
inlineprivate

default routine to check whether the kernel contains unspported instructions

Parameters
LLoop
AMLoopAnalysisManager
ARLoopStandardAnalysisResults
Returns
Optional<InstList> if any unsupported instructions are included, it returns a list of them, otherwise None.
Remarks
Please specilize this method depending on the target CGRA type

◆ run()

template<typename VerifyPassTy >
Result CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >::run ( Loop &  L,
LoopAnalysisManager &  AM,
LoopStandardAnalysisResults &  AR 
)
inline

Member Data Documentation

◆ AnalysisInfoMixin< VerifyInstAvailabilityPass< VerifyPassTy > >

template<typename VerifyPassTy >
friend CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >::AnalysisInfoMixin< VerifyInstAvailabilityPass< VerifyPassTy > >
private

◆ Key

template<typename VerifyPassTy >
AnalysisKey CGRAOmp::VerifyInstAvailabilityPass< VerifyPassTy >::Key
staticprivate

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