summaryrefslogtreecommitdiffstats
path: root/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/Analysis/ScopDetectionDiagnostic.cpp')
-rw-r--r--polly/lib/Analysis/ScopDetectionDiagnostic.cpp28
1 files changed, 8 insertions, 20 deletions
diff --git a/polly/lib/Analysis/ScopDetectionDiagnostic.cpp b/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
index e74073cecba..eb65dc2c1bb 100644
--- a/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
+++ b/polly/lib/Analysis/ScopDetectionDiagnostic.cpp
@@ -43,8 +43,6 @@ using namespace llvm;
BADSCOP_STAT(CFG, "CFG too complex");
BADSCOP_STAT(LoopBound, "Loop bounds can not be computed");
-BADSCOP_STAT(LoopOverlapWithNonAffineSubRegion,
- "Loop overlap with nonaffine subregion");
BADSCOP_STAT(FuncCall, "Function call with side effects appeared");
BADSCOP_STAT(AffFunc, "Expression not affine");
BADSCOP_STAT(Alias, "Found base address alias");
@@ -330,30 +328,20 @@ std::string ReportLoopBound::getEndUserMessage() const {
}
//===----------------------------------------------------------------------===//
-// ReportLoopOverlapWithNonAffineSubRegion.
+// ReportLoopHasNoExit.
-ReportLoopOverlapWithNonAffineSubRegion::
- ReportLoopOverlapWithNonAffineSubRegion(Loop *L, Region *R)
- : RejectReason(rrkLoopOverlapWithNonAffineSubRegion), L(L), R(R),
- Loc(L->getStartLoc()) {
- ++BadLoopOverlapWithNonAffineSubRegionForScop;
+std::string ReportLoopHasNoExit::getMessage() const {
+ return "Loop " + L->getHeader()->getName() + " has no exit.";
}
-std::string ReportLoopOverlapWithNonAffineSubRegion::getMessage() const {
- return "Non affine subregion: " + R->getNameStr() + " overlaps Loop " +
- L->getHeader()->getName();
+bool ReportLoopHasNoExit::classof(const RejectReason *RR) {
+ return RR->getKind() == rrkLoopHasNoExit;
}
-const DebugLoc &ReportLoopOverlapWithNonAffineSubRegion::getDebugLoc() const {
- return Loc;
-}
-
-bool ReportLoopOverlapWithNonAffineSubRegion::classof(const RejectReason *RR) {
- return RR->getKind() == rrkLoopOverlapWithNonAffineSubRegion;
-}
+const DebugLoc &ReportLoopHasNoExit::getDebugLoc() const { return Loc; }
-std::string ReportLoopOverlapWithNonAffineSubRegion::getEndUserMessage() const {
- return "Loop overlaps with nonaffine subregion.";
+std::string ReportLoopHasNoExit::getEndUserMessage() const {
+ return "Loop cannot be handled because it has no exit.";
}
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud