Polly 20.0.0git
|
Base class of all reject reasons found during Scop detection. More...
#include <ScopDetectionDiagnostic.h>
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 |
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.
polly::RejectReason::RejectReason | ( | RejectReasonKind | K | ) |
Definition at line 170 of file ScopDetectionDiagnostic.cpp.
References RejectStatistics.
|
virtualdefault |
|
virtual |
Get the source location of this error.
Reimplemented in polly::ReportInvalidTerminator, polly::ReportIrreducibleRegion, polly::ReportUnreachableInExit, polly::ReportIndirectPredecessor, polly::ReportAffFunc, polly::ReportLoopBound, polly::ReportLoopHasNoExit, polly::ReportLoopHasMultipleExits, polly::ReportLoopOnlySomeLatches, polly::ReportFuncCall, polly::ReportAlias, polly::ReportIntToPtr, polly::ReportAlloca, polly::ReportUnknownInst, polly::ReportEntry, polly::ReportUnprofitable, and polly::ReportNonSimpleMemoryAccess.
Definition at line 176 of file ScopDetectionDiagnostic.cpp.
References Unknown.
|
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.
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.
|
inline |
Definition at line 130 of file ScopDetectionDiagnostic.h.
References Kind.
Referenced by polly::ReportCFG::classof(), polly::ReportInvalidTerminator::classof(), polly::ReportIrreducibleRegion::classof(), polly::ReportUnreachableInExit::classof(), polly::ReportIndirectPredecessor::classof(), polly::ReportAffFunc::classof(), polly::ReportUndefCond::classof(), polly::ReportInvalidCond::classof(), polly::ReportUndefOperand::classof(), polly::ReportNonAffBranch::classof(), polly::ReportNoBasePtr::classof(), polly::ReportUndefBasePtr::classof(), polly::ReportVariantBasePtr::classof(), polly::ReportNonAffineAccess::classof(), polly::ReportDifferentArrayElementSize::classof(), polly::ReportLoopBound::classof(), polly::ReportLoopHasNoExit::classof(), polly::ReportLoopHasMultipleExits::classof(), polly::ReportLoopOnlySomeLatches::classof(), polly::ReportFuncCall::classof(), polly::ReportAlias::classof(), polly::ReportOther::classof(), polly::ReportIntToPtr::classof(), polly::ReportAlloca::classof(), polly::ReportUnknownInst::classof(), polly::ReportEntry::classof(), polly::ReportUnprofitable::classof(), and polly::ReportNonSimpleMemoryAccess::classof().
|
pure virtual |
Generate a reasonable diagnostic message describing this error.
Implemented in polly::ReportInvalidTerminator, polly::ReportIrreducibleRegion, polly::ReportUnreachableInExit, polly::ReportIndirectPredecessor, polly::ReportUndefCond, polly::ReportInvalidCond, polly::ReportUndefOperand, polly::ReportNonAffBranch, polly::ReportNoBasePtr, polly::ReportUndefBasePtr, polly::ReportVariantBasePtr, polly::ReportNonAffineAccess, polly::ReportDifferentArrayElementSize, polly::ReportLoopBound, polly::ReportLoopHasNoExit, polly::ReportLoopHasMultipleExits, polly::ReportLoopOnlySomeLatches, polly::ReportFuncCall, polly::ReportAlias, polly::ReportOther, polly::ReportIntToPtr, polly::ReportAlloca, polly::ReportUnknownInst, polly::ReportEntry, polly::ReportUnprofitable, and polly::ReportNonSimpleMemoryAccess.
Referenced by polly::ScopDetection::invalid().
|
pure virtual |
Get the Basic Block containing this remark.
Implemented in polly::ReportInvalidTerminator, polly::ReportIrreducibleRegion, polly::ReportUnreachableInExit, polly::ReportIndirectPredecessor, polly::ReportUndefCond, polly::ReportInvalidCond, polly::ReportUndefOperand, polly::ReportNonAffBranch, polly::ReportNoBasePtr, polly::ReportUndefBasePtr, polly::ReportVariantBasePtr, polly::ReportNonAffineAccess, polly::ReportDifferentArrayElementSize, polly::ReportLoopBound, polly::ReportLoopHasNoExit, polly::ReportLoopHasMultipleExits, polly::ReportLoopOnlySomeLatches, polly::ReportFuncCall, polly::ReportAlias, polly::ReportIntToPtr, polly::ReportAlloca, polly::ReportUnknownInst, polly::ReportEntry, polly::ReportUnprofitable, and polly::ReportNonSimpleMemoryAccess.
References polly::Value.
|
pure virtual |
Generate the remark name to identify this remark.
Implemented in polly::ReportInvalidTerminator, polly::ReportIrreducibleRegion, polly::ReportUnreachableInExit, polly::ReportIndirectPredecessor, polly::ReportUndefCond, polly::ReportInvalidCond, polly::ReportUndefOperand, polly::ReportNonAffBranch, polly::ReportNoBasePtr, polly::ReportUndefBasePtr, polly::ReportVariantBasePtr, polly::ReportNonAffineAccess, polly::ReportDifferentArrayElementSize, polly::ReportLoopBound, polly::ReportLoopHasNoExit, polly::ReportLoopHasMultipleExits, polly::ReportLoopOnlySomeLatches, polly::ReportFuncCall, polly::ReportAlias, polly::ReportOther, polly::ReportIntToPtr, polly::ReportAlloca, polly::ReportUnknownInst, polly::ReportEntry, polly::ReportUnprofitable, and polly::ReportNonSimpleMemoryAccess.
|
private |
Definition at line 120 of file ScopDetectionDiagnostic.h.
Referenced by getKind().
|
staticprotected |
Definition at line 123 of file ScopDetectionDiagnostic.h.
Referenced by getDebugLoc().