CGRAOmp  0.1
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
CGRAOmp::VerifyResultBase Class Referenceabstract

An abstract class for the verification information. More...

#include <VerifyPass.hpp>

Inheritance diagram for CGRAOmp::VerifyResultBase:
CGRAOmp::AGCompatibility CGRAOmp::InstAvailability CGRAOmp::LoopVerifyResult CGRAOmp::SimpleVerifyResult< Kind > CGRAOmp::VerifyResult CGRAOmp::AffineAGCompatibility

Public Member Functions

 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...
 
virtual void print (raw_ostream &OS) const =0
 An abstract method to print the verification result. More...
 
void dump ()
 dump the verification result like as debugging in LLVM More...
 
virtual StringRef getName () const =0
 
void setVio ()
 mark this result as violated More...
 
virtual VerificationKind getKind () const
 get the kind of derived class More...
 

Protected Member Functions

virtual bool bool_operator_impl ()
 An actual impelementation for casting to Boolean. More...
 

Protected Attributes

bool isViolate = false
 

Private Attributes

VerificationKind kind
 

Friends

raw_ostream & operator<< (raw_ostream &OS, const VerifyResultBase &v)
 support << operator to show the verification result More...
 

Detailed Description

An abstract class for the verification information.

Constructor & Destructor Documentation

◆ VerifyResultBase() [1/2]

CGRAOmp::VerifyResultBase::VerifyResultBase ( VerificationKind  kind)
inlineexplicit

Construct a new Verify Result Base object.

◆ VerifyResultBase() [2/2]

CGRAOmp::VerifyResultBase::VerifyResultBase ( )
delete

default constructor

Member Function Documentation

◆ bool_operator_impl()

virtual bool CGRAOmp::VerifyResultBase::bool_operator_impl ( )
inlineprotectedvirtual

An actual impelementation for casting to Boolean.

Reimplemented in CGRAOmp::InstAvailability, and CGRAOmp::LoopVerifyResult.

◆ dump()

void CGRAOmp::VerifyResultBase::dump ( )
inline

dump the verification result like as debugging in LLVM

◆ getKind()

virtual VerificationKind CGRAOmp::VerifyResultBase::getKind ( ) const
inlinevirtual

get the kind of derived class

Returns
VerificationKind

◆ getName()

virtual StringRef CGRAOmp::VerifyResultBase::getName ( ) const
pure virtual

◆ operator bool()

CGRAOmp::VerifyResultBase::operator bool ( )
inlineexplicit

explicit cast operator for Boolean Derived classes can custom the violation condition by overriding bool_operator_impl

Returns
true if there is no violation
false if the kernel has some violation

◆ print()

virtual void CGRAOmp::VerifyResultBase::print ( raw_ostream &  OS) const
pure virtual

An abstract method to print the verification result.

Parameters
OSan output stream

Implemented in CGRAOmp::InstAvailability, CGRAOmp::VerifyResult, CGRAOmp::LoopVerifyResult, CGRAOmp::AffineAGCompatibility, CGRAOmp::AGCompatibility, and CGRAOmp::SimpleVerifyResult< Kind >.

◆ setVio()

void CGRAOmp::VerifyResultBase::setVio ( )
inline

mark this result as violated

Friends And Related Function Documentation

◆ operator<<

raw_ostream& operator<< ( raw_ostream &  OS,
const VerifyResultBase v 
)
friend

support << operator to show the verification result

Member Data Documentation

◆ isViolate

bool CGRAOmp::VerifyResultBase::isViolate = false
protected

◆ kind

VerificationKind CGRAOmp::VerifyResultBase::kind
private

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