Polly 19.0.0git
Public Member Functions | Static Protected Attributes | Private Attributes | List of all members
polly::RejectReason Class Referenceabstract

Base class of all reject reasons found during Scop detection. More...

#include <ScopDetectionDiagnostic.h>

Inheritance diagram for polly::RejectReason:
Inheritance graph
[legend]

Public Member Functions

 RejectReason (RejectReasonKind K)
 
virtual ~RejectReason ()=default
 
RejectReasonKind getKind () const
 
virtual std::string getRemarkName () const =0
 Generate the remark name to identify this remark.
 
virtual const Value * getRemarkBB () const =0
 Get the Basic Block containing this remark.
 
virtual std::string getMessage () const =0
 Generate a reasonable diagnostic message describing this error.
 
virtual std::string getEndUserMessage () const
 Generate a message for the end-user describing this error.
 
virtual const DebugLoc & getDebugLoc () const
 Get the source location of this error.
 

Static Protected Attributes

static const DebugLoc Unknown = DebugLoc()
 

Private Attributes

const RejectReasonKind Kind
 

Detailed Description

Base class of all reject reasons found during Scop detection.

Subclasses of RejectReason should provide means to capture enough diagnostic information to help clients figure out what and where something went wrong in the Scop detection.

Definition at line 118 of file ScopDetectionDiagnostic.h.

Constructor & Destructor Documentation

◆ RejectReason()

polly::RejectReason::RejectReason ( RejectReasonKind  K)

Definition at line 170 of file ScopDetectionDiagnostic.cpp.

References RejectStatistics.

◆ ~RejectReason()

virtual polly::RejectReason::~RejectReason ( )
virtualdefault

Member Function Documentation

◆ getDebugLoc()

const DebugLoc & polly::RejectReason::getDebugLoc ( ) const
virtual

◆ getEndUserMessage()

virtual std::string polly::RejectReason::getEndUserMessage ( ) const
inlinevirtual

Generate a message for the end-user describing this error.

The message provided has to be suitable for the end-user. So it should not reference any LLVM internal data structures or terminology. Ideally, the message helps the end-user to increase the size of the regions amenable to Polly.

Returns
A short message representing this error.

Reimplemented in polly::ReportIrreducibleRegion, polly::ReportUnreachableInExit, polly::ReportIndirectPredecessor, polly::ReportVariantBasePtr, polly::ReportNonAffineAccess, polly::ReportDifferentArrayElementSize, polly::ReportLoopBound, polly::ReportLoopHasNoExit, polly::ReportLoopHasMultipleExits, polly::ReportLoopOnlySomeLatches, polly::ReportFuncCall, polly::ReportAlias, polly::ReportEntry, polly::ReportUnprofitable, and polly::ReportNonSimpleMemoryAccess.

Definition at line 155 of file ScopDetectionDiagnostic.h.

◆ getKind()

RejectReasonKind polly::RejectReason::getKind ( ) const
inline

◆ getMessage()

virtual std::string polly::RejectReason::getMessage ( ) const
pure virtual

◆ getRemarkBB()

virtual const Value * polly::RejectReason::getRemarkBB ( ) const
pure virtual

◆ getRemarkName()

virtual std::string polly::RejectReason::getRemarkName ( ) const
pure virtual

Member Data Documentation

◆ Kind

const RejectReasonKind polly::RejectReason::Kind
private

Definition at line 120 of file ScopDetectionDiagnostic.h.

Referenced by getKind().

◆ Unknown

const DebugLoc polly::RejectReason::Unknown = DebugLoc()
staticprotected

Definition at line 123 of file ScopDetectionDiagnostic.h.

Referenced by getDebugLoc().


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