diff options
Diffstat (limited to 'polly/lib/Analysis/ScopDetectionDiagnostic.cpp')
-rw-r--r-- | polly/lib/Analysis/ScopDetectionDiagnostic.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/polly/lib/Analysis/ScopDetectionDiagnostic.cpp b/polly/lib/Analysis/ScopDetectionDiagnostic.cpp index b2b566bdffd..ca70018e8fb 100644 --- a/polly/lib/Analysis/ScopDetectionDiagnostic.cpp +++ b/polly/lib/Analysis/ScopDetectionDiagnostic.cpp @@ -44,6 +44,7 @@ using namespace llvm; llvm::Statistic RejectStatistics[] = { SCOP_STAT(CFG, ""), SCOP_STAT(InvalidTerminator, "Unsupported terminator instruction"), + SCOP_STAT(UnreachableInExit, "Unreachable in exit block"), SCOP_STAT(IrreducibleRegion, "Irreducible loops"), SCOP_STAT(LastCFG, ""), SCOP_STAT(AffFunc, ""), @@ -190,6 +191,24 @@ bool ReportInvalidTerminator::classof(const RejectReason *RR) { } //===----------------------------------------------------------------------===// +// UnreachableInExit. + +std::string ReportUnreachableInExit::getMessage() const { + std::string BBName = BB->getName(); + return "Unreachable in exit block" + BBName; +} + +const DebugLoc &ReportUnreachableInExit::getDebugLoc() const { return DbgLoc; } + +std::string ReportUnreachableInExit::getEndUserMessage() const { + return "Unreachable in exit block."; +} + +bool ReportUnreachableInExit::classof(const RejectReason *RR) { + return RR->getKind() == RejectReasonKind::UnreachableInExit; +} + +//===----------------------------------------------------------------------===// // ReportIrreducibleRegion. std::string ReportIrreducibleRegion::getMessage() const { |