Update Polly tests to handle explicitly typed gep changes in LLVM
[polly-mirror.git] / test / ScopInfo / NonAffine / non_affine_access_with_range_2.ll
blob68dd27703bee018d57a388d08232257991c725a2
1 ; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -polly-allow-nonaffine -analyze < %s | FileCheck %s
3 ;    void f(int *A) {
4 ;      for (int i = 0; i < 128; i++)
5 ;        for (int j = 0; j < 16; j++)
6 ;          A[i * j]++;
7 ;    }
9 ; CHECK: ReadAccess := [Reduction Type: +] [Scalar: 0]
10 ; CHECK:     { Stmt_bb7[i0, i1] -> MemRef_A[o0] : o0 <= 2046 and o0 >= 0 };
11 ; CHECK: MayWriteAccess := [Reduction Type: +] [Scalar: 0]
12 ; CHECK:     { Stmt_bb7[i0, i1] -> MemRef_A[o0] : o0 <= 2046 and o0 >= 0 };
14 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
16 define void @f(i32* %A) {
17 bb:
18   br label %bb4
20 bb4:                                              ; preds = %bb13, %bb
21   %indvars.iv1 = phi i64 [ %indvars.iv.next2, %bb13 ], [ 0, %bb ]
22   %exitcond3 = icmp ne i64 %indvars.iv1, 128
23   br i1 %exitcond3, label %bb5, label %bb14
25 bb5:                                              ; preds = %bb4
26   br label %bb6
28 bb6:                                              ; preds = %bb11, %bb5
29   %indvars.iv = phi i64 [ %indvars.iv.next, %bb11 ], [ 0, %bb5 ]
30   %exitcond = icmp ne i64 %indvars.iv, 16
31   br i1 %exitcond, label %bb7, label %bb12
33 bb7:                                              ; preds = %bb6
34   %tmp = mul nsw i64 %indvars.iv1, %indvars.iv
35   %tmp8 = getelementptr inbounds i32, i32* %A, i64 %tmp
36   %tmp9 = load i32* %tmp8, align 4
37   %tmp10 = add nsw i32 %tmp9, 1
38   store i32 %tmp10, i32* %tmp8, align 4
39   br label %bb11
41 bb11:                                             ; preds = %bb7
42   %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
43   br label %bb6
45 bb12:                                             ; preds = %bb6
46   br label %bb13
48 bb13:                                             ; preds = %bb12
49   %indvars.iv.next2 = add nuw nsw i64 %indvars.iv1, 1
50   br label %bb4
52 bb14:                                             ; preds = %bb4
53   ret void