
; RUN: opt %loadPolly -polly-ast -analyze -polly-ignore-aliasing < %s | FileCheck %s -check-prefix=SCALAR
; RUN: opt %loadPolly -polly-codegen -polly-ignore-aliasing -disable-output < %s
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

; SCALAR: if (
; SCALAR:     {
; SCALAR:       Stmt_for_1(0);
; SCALAR:       for (int c0 = 1; c0 <= -Scalar0_val + 99; c0 += 1)
; SCALAR:         Stmt_for_1(c0);
; SCALAR:     }

; SCALAR: if (1)
; SCALAR:     Stmt_for_0(0);


define void @foo(i32* %A) {
entry:
  %Scalar0 = alloca i32
  br label %for.0

for.0:
  %Scalar0.val = load i32, i32* %Scalar0
  store i32 1, i32* %Scalar0
  br i1 false, label %for.0, label %for.1.preheader

for.1.preheader:
  fence seq_cst
  br label %for.1

for.1:
  %indvar.1 = phi i32 [ %Scalar0.val, %for.1.preheader ], [ %indvar.1.next, %for.1]
  %arrayidx.1 = getelementptr inbounds i32, i32* %A, i32 %indvar.1
  store i32 1, i32* %arrayidx.1
  %indvar.1.next = add nsw i32 %indvar.1, 1
  %cmp.1 = icmp slt i32 %indvar.1.next, 100
  br i1 %cmp.1, label %for.1, label %end

end:
  ret void
}
