1; RUN: opt %loadPolly -polly-detect -disable-output < %s 2target 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" 3 4define void @f(i64* %A, i64 %N, i64 %M) nounwind { 5entry: 6 fence seq_cst 7 br label %for.i 8 9for.i: 10 %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.i ] 11 %scevgep = getelementptr i64, i64* %A, i64 %indvar 12 store i64 %indvar, i64* %scevgep 13 %indvar.next = add nsw i64 %indvar, 1 14 %exitcond = icmp eq i64 %indvar.next, %N 15 br i1 %exitcond, label %next, label %for.i 16 17next: 18 fence seq_cst 19 br label %for.j 20 21for.j: 22 %indvar.j = phi i64 [ %indvar, %next ], [ %indvar.j.next, %for.j ] 23 %scevgep.j = getelementptr i64, i64* %A, i64 %indvar.j 24 store i64 %indvar.j, i64* %scevgep.j 25 fence seq_cst 26 %indvar.j.next = add nsw i64 %indvar.j, 1 27 %exitcond.j = icmp eq i64 %indvar.j.next, %M 28 br i1 %exitcond.j, label %return, label %for.j 29 30return: 31 fence seq_cst 32 ret void 33} 34