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

A derived class from VerifyResultBase bunding all kernel verification result. More...

#include <VerifyPass.hpp>

Inheritance diagram for CGRAOmp::VerifyResult:
CGRAOmp::VerifyResultBase

Public Types

using KernelList = SmallVector< Loop * >
 
using kernel_iterator = KernelList::iterator
 

Public Member Functions

 VerifyResult ()
 Construct a new Verify Result object. More...
 
void print (raw_ostream &OS) const override
 An abstract method to print the verification result. More...
 
void registerKernel (Loop *L, LoopVerifyResult LVR)
 register a valid loop kernel for the target CGRA More...
 
kernel_iterator kernel_begin ()
 
kernel_iterator kernel_end ()
 
iterator_range< kernel_iteratorkernels ()
 
LoopVerifyResultgetLoopVerifyResult (Loop *L)
 
StringRef getName () const
 
int getNumKernels ()
 
- Public Member Functions inherited from CGRAOmp::VerifyResultBase
 VerifyResultBase (VerificationKind kind)
 Construct a new Verify Result Base object. More...
 
 VerifyResultBase ()=delete
 default constructor More...
 
 operator bool ()
 explicit cast operator for Boolean Derived classes can custom the violation condition by overriding bool_operator_impl More...
 
void dump ()
 dump the verification result like as debugging in LLVM More...
 
void setVio ()
 mark this result as violated More...
 
virtual VerificationKind getKind () const
 get the kind of derived class More...
 

Static Public Member Functions

static bool classof (const VerifyResultBase *R)
 

Private Attributes

SmallVector< Loop * > valid_kernels
 
std::map< Loop *, LoopVerifyResultloop_verify_results
 

Additional Inherited Members

- Protected Member Functions inherited from CGRAOmp::VerifyResultBase
virtual bool bool_operator_impl ()
 An actual impelementation for casting to Boolean. More...
 
- Protected Attributes inherited from CGRAOmp::VerifyResultBase
bool isViolate = false
 

Detailed Description

A derived class from VerifyResultBase bunding all kernel verification result.

Member Typedef Documentation

◆ kernel_iterator

using CGRAOmp::VerifyResult::kernel_iterator = KernelList::iterator

◆ KernelList

using CGRAOmp::VerifyResult::KernelList = SmallVector<Loop*>

Constructor & Destructor Documentation

◆ VerifyResult()

CGRAOmp::VerifyResult::VerifyResult ( )
inline

Construct a new Verify Result object.

Member Function Documentation

◆ classof()

static bool CGRAOmp::VerifyResult::classof ( const VerifyResultBase R)
inlinestatic

◆ getLoopVerifyResult()

LoopVerifyResult* CGRAOmp::VerifyResult::getLoopVerifyResult ( Loop *  L)
inline

◆ getName()

StringRef CGRAOmp::VerifyResult::getName ( ) const
inlinevirtual

◆ getNumKernels()

int CGRAOmp::VerifyResult::getNumKernels ( )
inline

◆ kernel_begin()

kernel_iterator CGRAOmp::VerifyResult::kernel_begin ( )
inline

◆ kernel_end()

kernel_iterator CGRAOmp::VerifyResult::kernel_end ( )
inline

◆ kernels()

iterator_range<kernel_iterator> CGRAOmp::VerifyResult::kernels ( )
inline

◆ print()

void VerifyResult::print ( raw_ostream &  OS) const
overridevirtual

An abstract method to print the verification result.

Parameters
OSan output stream

Implements CGRAOmp::VerifyResultBase.

◆ registerKernel()

void CGRAOmp::VerifyResult::registerKernel ( Loop *  L,
LoopVerifyResult  LVR 
)
inline

register a valid loop kernel for the target CGRA

Parameters
LLoop

Member Data Documentation

◆ loop_verify_results

std::map<Loop*, LoopVerifyResult> CGRAOmp::VerifyResult::loop_verify_results
private

◆ valid_kernels

SmallVector<Loop*> CGRAOmp::VerifyResult::valid_kernels
private

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