1
2; RUN: opt %loadPolly -polly-ast -analyze -polly-ignore-aliasing < %s | FileCheck %s -check-prefix=SCALAR
3; RUN: opt %loadPolly -polly-codegen -polly-ignore-aliasing -disable-output < %s
4target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
5
6; SCALAR: if (
7; SCALAR:     {
8; SCALAR:       Stmt_for_1(0);
9; SCALAR:       for (int c0 = 1; c0 <= -Scalar0_val + 99; c0 += 1)
10; SCALAR:         Stmt_for_1(c0);
11; SCALAR:     }
12
13; SCALAR: if (1)
14; SCALAR:     Stmt_for_0(0);
15
16
17define void @foo(i32* %A) {
18entry:
19  %Scalar0 = alloca i32
20  br label %for.0
21
22for.0:
23  %Scalar0.val = load i32, i32* %Scalar0
24  store i32 1, i32* %Scalar0
25  br i1 false, label %for.0, label %for.1.preheader
26
27for.1.preheader:
28  fence seq_cst
29  br label %for.1
30
31for.1:
32  %indvar.1 = phi i32 [ %Scalar0.val, %for.1.preheader ], [ %indvar.1.next, %for.1]
33  %arrayidx.1 = getelementptr inbounds i32, i32* %A, i32 %indvar.1
34  store i32 1, i32* %arrayidx.1
35  %indvar.1.next = add nsw i32 %indvar.1, 1
36  %cmp.1 = icmp slt i32 %indvar.1.next, 100
37  br i1 %cmp.1, label %for.1, label %end
38
39end:
40  ret void
41}
42