ScopDetectionDiagnostics: Also emit diagnostics in case no debug info is available

In this case, we just use the start of the scop as the debug location.

llvm-svn: 293165
This commit is contained in:
Tobias Grosser 2017-01-26 10:30:55 +00:00
parent 09e65efd09
commit 64bbb1357f
2 changed files with 29 additions and 0 deletions

View File

@ -134,6 +134,9 @@ void emitRejectionRemarks(const BBPair &P, const RejectLog &Log) {
if (const DebugLoc &Loc = RR->getDebugLoc())
emitOptimizationRemarkMissed(Ctx, DEBUG_TYPE, F, Loc,
RR->getEndUserMessage());
else
emitOptimizationRemarkMissed(Ctx, DEBUG_TYPE, F, Begin,
RR->getEndUserMessage());
}
emitOptimizationRemarkMissed(Ctx, DEBUG_TYPE, F, End,

View File

@ -0,0 +1,26 @@
; RUN: opt %loadPolly -analyze -polly-detect \
; RUN: -pass-remarks-missed="polly-detect" \
; RUN: < %s 2>&1| FileCheck %s
; CHECK: remark: <unknown>:0:0: Irreducible region encountered in control flow.
define void @hoge(i8* %arg) {
bb1:
br i1 false, label %bb2, label %bb3
bb2:
br i1 false, label %bb4, label %bb5
bb4:
br i1 false, label %bb3, label %bb5
bb5:
br label %bb6
bb6:
br label %bb4
bb3:
ret void
}