forked from OSchip/llvm-project
42 lines
1.0 KiB
LLVM
42 lines
1.0 KiB
LLVM
|
|
; 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
|
|
}
|