forked from OSchip/llvm-project
35 lines
1.1 KiB
LLVM
35 lines
1.1 KiB
LLVM
|
; Test that the reduction dependences are always initialised, even in a case
|
||
|
; where we have no reduction. If this object is NULL, then isl operations on
|
||
|
; it will fail.
|
||
|
; RUN: opt -S %loadPolly -polly-dependences -analyze < %s | FileCheck %s -check-prefix=VALUE
|
||
|
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-n8:16:32:64"
|
||
|
|
||
|
; for(i = 0; i < 100; i++ )
|
||
|
; S1: A[i] = 2;
|
||
|
|
||
|
define void @sequential_writes() {
|
||
|
entry:
|
||
|
%A = alloca [200 x i32]
|
||
|
br label %S1
|
||
|
|
||
|
S1:
|
||
|
%indvar.1 = phi i64 [ 0, %entry ], [ %indvar.next.1, %S1 ]
|
||
|
%arrayidx.1 = getelementptr [200 x i32], [200 x i32]* %A, i64 0, i64 %indvar.1
|
||
|
store i32 2, i32* %arrayidx.1
|
||
|
%indvar.next.1 = add i64 %indvar.1, 1
|
||
|
%exitcond.1 = icmp ne i64 %indvar.next.1, 100
|
||
|
br i1 %exitcond.1, label %S1, label %exit.1
|
||
|
|
||
|
exit.1:
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
; VALUE: RAW dependences:
|
||
|
; VALUE-NEXT: { }
|
||
|
; VALUE-NEXT: WAR dependences:
|
||
|
; VALUE-NEXT: { }
|
||
|
; VALUE-NEXT: WAW dependences:
|
||
|
; VALUE-NEXT: { }
|
||
|
; VALUE-NEXT: Reduction dependences:
|
||
|
; VALUE-NEXT: { }
|