xref: /llvm-project/polly/test/ScopInfo/mismatching-array-dimensions.ll (revision e1f056f692d869708c1898d9d65a69ac5584a0ed)
1; RUN: opt %loadNPMPolly '-passes=print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s
2
3; CHECK-NOT: AssumedContext
4
5target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
6target triple = "x86_64-apple-macosx10.9.0"
7
8; Function Attrs: nounwind ssp uwtable
9define void @hoge(ptr %arg, ptr %arg5, i32 %arg6) #0 {
10bb:
11  br i1 undef, label %bb7, label %bb25
12
13bb7:                                              ; preds = %bb21, %bb
14  %tmp8 = phi i64 [ %tmp22, %bb21 ], [ 0, %bb ]
15  %tmp9 = icmp sgt i32 %arg6, 0
16  br i1 %tmp9, label %bb10, label %bb21
17
18bb10:                                             ; preds = %bb10, %bb7
19  %tmp11 = getelementptr inbounds [32 x [2 x float]], ptr %arg5, i64 %tmp8, i64 0
20  %tmp12 = load i32, ptr %tmp11, align 4, !tbaa !4
21  %tmp13 = getelementptr inbounds [32 x [2 x float]], ptr %arg5, i64 %tmp8, i64 0, i64 1
22  %tmp15 = load i32, ptr %tmp13, align 4, !tbaa !4
23  %tmp16 = getelementptr inbounds [38 x [64 x float]], ptr %arg, i64 1, i64 0, i64 %tmp8
24  store i32 %tmp15, ptr %tmp16, align 4, !tbaa !4
25  %tmp18 = add nuw nsw i64 0, 1
26  %tmp19 = trunc i64 %tmp18 to i32
27  %tmp20 = icmp ne i32 %tmp19, %arg6
28  br i1 %tmp20, label %bb10, label %bb21
29
30bb21:                                             ; preds = %bb10, %bb7
31  %tmp22 = add nsw i64 %tmp8, 1
32  %tmp23 = trunc i64 %tmp22 to i32
33  %tmp24 = icmp ne i32 %tmp23, 64
34  br i1 %tmp24, label %bb7, label %bb25
35
36bb25:                                             ; preds = %bb21, %bb
37  ret void
38}
39
40attributes #0 = { nounwind ssp uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="none" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="core2" "target-features"="+cx16,+fxsr,+mmx,+sse,+sse2,+sse3,+ssse3" "unsafe-fp-math"="false" "use-soft-float"="false" }
41
42!llvm.module.flags = !{!0, !1, !2}
43!llvm.ident = !{!3}
44
45!0 = !{i32 2, !"Dwarf Version", i32 2}
46!1 = !{i32 2, !"Debug Info Version", i32 3}
47!2 = !{i32 1, !"PIC Level", i32 2}
48!3 = !{!"clang version 3.8.0 (trunk 251760) (llvm/trunk 251765)"}
49!4 = !{!5, !5, i64 0}
50!5 = !{!"float", !6, i64 0}
51!6 = !{!"omnipotent char", !7, i64 0}
52!7 = !{!"Simple C/C++ TBAA"}
53