Polly 19.0.0git
Public Member Functions | Private Attributes | List of all members
ValidatorResult Class Referencefinal

The result the validator returns for a SCEV expression. More...

Public Member Functions

 ValidatorResult (const ValidatorResult &Source)
 The copy constructor.
 
 ValidatorResult (SCEVType::TYPE Type)
 Construct a result with a certain type and no parameters.
 
 ValidatorResult (SCEVType::TYPE Type, const SCEV *Expr)
 Construct a result with a certain type and a single parameter.
 
SCEVType::TYPE getType ()
 Get the type of the ValidatorResult.
 
bool isConstant ()
 Is the analyzed SCEV constant during the execution of the SCoP.
 
bool isValid ()
 Is the analyzed SCEV valid.
 
bool isIV ()
 Is the analyzed SCEV of Type IV.
 
bool isINT ()
 Is the analyzed SCEV of Type INT.
 
bool isPARAM ()
 Is the analyzed SCEV of Type PARAM.
 
const ParameterSetTygetParameters ()
 Get the parameters of this validator result.
 
void addParamsFrom (const ValidatorResult &Source)
 Add the parameters of Source to this result.
 
void merge (const ValidatorResult &ToMerge)
 Merge a result.
 
void print (raw_ostream &OS)
 

Private Attributes

SCEVType::TYPE Type
 The type of the expression.
 
ParameterSetTy Parameters
 The set of Parameters in the expression.
 

Detailed Description

The result the validator returns for a SCEV expression.

Definition at line 39 of file SCEVValidator.cpp.

Constructor & Destructor Documentation

◆ ValidatorResult() [1/3]

ValidatorResult::ValidatorResult ( const ValidatorResult Source)
inline

The copy constructor.

Definition at line 48 of file SCEVValidator.cpp.

References Parameters, and Type.

◆ ValidatorResult() [2/3]

ValidatorResult::ValidatorResult ( SCEVType::TYPE  Type)
inline

Construct a result with a certain type and no parameters.

Definition at line 54 of file SCEVValidator.cpp.

References assert, SCEVType::PARAM, and Type.

◆ ValidatorResult() [3/3]

ValidatorResult::ValidatorResult ( SCEVType::TYPE  Type,
const SCEV *  Expr 
)
inline

Construct a result with a certain type and a single parameter.

Definition at line 59 of file SCEVValidator.cpp.

References Parameters.

Member Function Documentation

◆ addParamsFrom()

void ValidatorResult::addParamsFrom ( const ValidatorResult Source)
inline

Add the parameters of Source to this result.

Definition at line 85 of file SCEVValidator.cpp.

References Parameters.

Referenced by merge(), and SCEVValidator::visitAddRecExpr().

◆ getParameters()

const ParameterSetTy & ValidatorResult::getParameters ( )
inline

Get the parameters of this validator result.

Definition at line 82 of file SCEVValidator.cpp.

References Parameters.

Referenced by isAffineExpr().

◆ getType()

SCEVType::TYPE ValidatorResult::getType ( )
inline

Get the type of the ValidatorResult.

Definition at line 64 of file SCEVValidator.cpp.

References Type.

Referenced by SCEVValidator::visitZeroExtendOrTruncateExpr().

◆ isConstant()

bool ValidatorResult::isConstant ( )
inline

Is the analyzed SCEV constant during the execution of the SCoP.

Definition at line 67 of file SCEVValidator.cpp.

References SCEVType::INT, SCEVType::PARAM, and Type.

Referenced by SCEVValidator::visitAddRecExpr(), SCEVValidator::visitDivision(), SCEVValidator::visitSequentialUMinExpr(), SCEVValidator::visitUMaxExpr(), and SCEVValidator::visitUMinExpr().

◆ isINT()

bool ValidatorResult::isINT ( )
inline

Is the analyzed SCEV of Type INT.

Definition at line 76 of file SCEVValidator.cpp.

References SCEVType::INT, and Type.

Referenced by SCEVValidator::visitAddRecExpr(), and SCEVValidator::visitMulExpr().

◆ isIV()

bool ValidatorResult::isIV ( )
inline

Is the analyzed SCEV of Type IV.

Definition at line 73 of file SCEVValidator.cpp.

References SCEVType::IV, and Type.

Referenced by SCEVValidator::visitMulExpr().

◆ isPARAM()

bool ValidatorResult::isPARAM ( )
inline

Is the analyzed SCEV of Type PARAM.

Definition at line 79 of file SCEVValidator.cpp.

References SCEVType::PARAM, and Type.

Referenced by SCEVValidator::visitMulExpr().

◆ isValid()

bool ValidatorResult::isValid ( )
inline

◆ merge()

void ValidatorResult::merge ( const ValidatorResult ToMerge)
inline

Merge a result.

This means to merge the parameters and to set the Type to the most specific Type that matches both.

Definition at line 93 of file SCEVValidator.cpp.

References addParamsFrom(), and Type.

Referenced by SCEVValidator::visitAddExpr(), SCEVValidator::visitMulExpr(), SCEVValidator::visitSMaxExpr(), and SCEVValidator::visitSMinExpr().

◆ print()

void ValidatorResult::print ( raw_ostream &  OS)
inline

Definition at line 98 of file SCEVValidator.cpp.

References SCEVType::INT, SCEVType::INVALID, SCEVType::IV, SCEVType::PARAM, and Type.

Referenced by operator<<().

Member Data Documentation

◆ Parameters

ParameterSetTy ValidatorResult::Parameters
private

The set of Parameters in the expression.

Definition at line 44 of file SCEVValidator.cpp.

Referenced by addParamsFrom(), getParameters(), and ValidatorResult().

◆ Type

SCEVType::TYPE ValidatorResult::Type
private

The type of the expression.

Definition at line 41 of file SCEVValidator.cpp.

Referenced by getType(), isConstant(), isINT(), isIV(), isPARAM(), isValid(), merge(), print(), and ValidatorResult().


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