; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
; RUN: opt %loadPolly -polly-detect -polly-codegen-scev -analyze < %s | FileCheck %s

; void f(long A[], long N) {
;   long i;
;
;  if (true)
;    goto loop;
;  else
;    goto loop;
;
; loop:
;   for (i = 0; i < N; ++i)
;     A[i] = i;
; }

; We will not detect this scop, as the loop is not in -loop-simplify form.

target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-unknown-linux-gnu"

define void @f(i64* %A, i64 %N) nounwind {
entry:
  fence seq_cst
  br i1 true, label %then, label %else

then:
  br label %for.i

else:
  br label %for.i

for.i:
  %indvar = phi i64 [ 0, %then ], [ 0, %else], [ %indvar.next, %for.i ]
  %scevgep = getelementptr i64* %A, i64 %indvar
  store i64 %indvar, i64* %scevgep
  %indvar.next = add nsw i64 %indvar, 1
  %exitcond = icmp eq i64 %indvar.next, %N
  br i1 %exitcond, label %return, label %for.i

return:
  fence seq_cst
  ret void
}

; CHECK-NOT: Valid Region for Scop
