Fix Polly
[polly-mirror.git] / test / ScopInfo / bug_scev_not_fully_eval.ll
blob8f98a9287689978ee6545ec66b5f472b8ac49ffb
1 ; RUN: opt %loadPolly -polly-detect -analyze  < %s | not FileCheck %s
2 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"
4 @edge.8265 = external global [72 x i32], align 32 ; <[72 x i32]*> [#uses=1]
6 define void @compact_unitcell_edges() nounwind {
7 bb.nph19:
8   br label %bb4
10 bb4:                                              ; preds = %bb4, %bb.nph19
11   %e.118 = phi i32 [ 0, %bb.nph19 ], [ %tmp23, %bb4 ] ; <i32> [#uses=1]
12   %i.017 = phi i32 [ 0, %bb.nph19 ], [ %0, %bb4 ] ; <i32> [#uses=1]
13   %tmp23 = add i32 %e.118, 8                      ; <i32> [#uses=2]
14   %0 = add nsw i32 %i.017, 1                      ; <i32> [#uses=2]
15   %exitcond42 = icmp eq i32 %0, 6                 ; <i1> [#uses=1]
16   br i1 %exitcond42, label %bb.nph, label %bb4
18 bb.nph:                                           ; preds = %bb4
19   %tmp = sext i32 %tmp23 to i64                   ; <i64> [#uses=1]
20   br label %bb7
22 bb7:                                              ; preds = %bb7, %bb.nph
23   %indvar = phi i64 [ 0, %bb.nph ], [ %indvar.next, %bb7 ] ; <i64> [#uses=2]
24   %tmp21 = add i64 %tmp, %indvar                  ; <i64> [#uses=1]
25   %scevgep = getelementptr [72 x i32], [72 x i32]* @edge.8265, i64 0, i64 %tmp21 ; <i32*> [#uses=1]
26   store i32 undef, i32* %scevgep, align 4
27   %indvar.next = add i64 %indvar, 1               ; <i64> [#uses=1]
28   br i1 undef, label %bb10, label %bb7
30 bb10:                                             ; preds = %bb7
31   ret void
34 ; CHECK: SCOP: