1 ; RUN: opt %loadPolly -polly-print-ast -disable-output < %s \
4 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
5 target triple = "x86_64-unknown-linux-gnu"
7 @global = external local_unnamed_addr global i32, align 4
8 @global.1 = external local_unnamed_addr global i32, align 4
10 define void @hoge() local_unnamed_addr {
12 %tmp = alloca i8, align 8
15 bb1: ; preds = %bb19, %bb
16 %tmp2 = phi i32 [ undef, %bb ], [ %tmp5, %bb19 ]
17 %tmp3 = phi ptr [ @global, %bb ], [ %tmp20, %bb19 ]
18 %tmp4 = icmp ugt i32 %tmp2, 5
19 %tmp5 = select i1 %tmp4, i32 %tmp2, i32 5
25 bb7: ; preds = %bb10, %bb6
26 %tmp8 = phi i8 [ 7, %bb6 ], [ %tmp11, %bb10 ]
27 store i32 2, ptr %tmp3, align 4
28 %tmp9 = load i8, ptr %tmp, align 8
32 store i32 undef, ptr @global.1, align 4
33 %tmp11 = add nuw nsw i8 %tmp8, 1
34 %tmp12 = icmp eq i8 %tmp11, 72
35 br i1 %tmp12, label %bb13, label %bb7
38 %tmp14 = icmp eq i32 %tmp5, 0
39 br i1 %tmp14, label %bb15, label %bb16
42 store i8 0, ptr %tmp, align 8
45 bb16: ; preds = %bb15, %bb13
49 br i1 undef, label %bb19, label %bb18
54 bb19: ; preds = %bb18, %bb17
55 %tmp20 = phi ptr [ %tmp3, %bb17 ], [ @hoge, %bb18 ]
59 ; CHECK: if (1 && (&MemRef_tmp3[1] <= &MemRef_global_1[0] || &MemRef_global_1[1] <= &MemRef_tmp3[0]) && (&MemRef_tmp[1] <= &MemRef_global_1[0] || &MemRef_global_1[1] <= &MemRef_tmp[0]) && (&MemRef_tmp[1] <= &MemRef_tmp3[0] || &MemRef_tmp3[1] <= &MemRef_tmp[0]))
61 ; CHECK: for (int c0 = 0; c0 <= 64; c0 += 1) {
62 ; CHECK-NEXT: Stmt_bb7(c0);
63 ; CHECK-NEXT: Stmt_bb10(c0);
67 ; CHECK-NEXT: { /* original code */ }