xref: /minix3/external/bsd/llvm/dist/llvm/test/CodeGen/X86/discontiguous-loops.ll (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc; RUN: llc -verify-loop-info -verify-dom-info -march=x86-64 < %s
2*f4a2713aSLionel Sambuc; PR5243
3*f4a2713aSLionel Sambuc
4*f4a2713aSLionel Sambuc@.str96 = external constant [37 x i8], align 8    ; <[37 x i8]*> [#uses=1]
5*f4a2713aSLionel Sambuc
6*f4a2713aSLionel Sambucdefine void @foo() nounwind {
7*f4a2713aSLionel Sambucbb:
8*f4a2713aSLionel Sambuc  br label %ybb1
9*f4a2713aSLionel Sambuc
10*f4a2713aSLionel Sambucybb1:                                              ; preds = %yybb13, %xbb6, %bb
11*f4a2713aSLionel Sambuc  switch i32 undef, label %bb18 [
12*f4a2713aSLionel Sambuc    i32 150, label %ybb2
13*f4a2713aSLionel Sambuc    i32 151, label %bb17
14*f4a2713aSLionel Sambuc    i32 152, label %bb19
15*f4a2713aSLionel Sambuc    i32 157, label %ybb8
16*f4a2713aSLionel Sambuc  ]
17*f4a2713aSLionel Sambuc
18*f4a2713aSLionel Sambucybb2:                                              ; preds = %ybb1
19*f4a2713aSLionel Sambuc  %tmp = icmp eq i8** undef, null                 ; <i1> [#uses=1]
20*f4a2713aSLionel Sambuc  br i1 %tmp, label %bb3, label %xbb6
21*f4a2713aSLionel Sambuc
22*f4a2713aSLionel Sambucbb3:                                              ; preds = %ybb2
23*f4a2713aSLionel Sambuc  unreachable
24*f4a2713aSLionel Sambuc
25*f4a2713aSLionel Sambucxbb4:                                              ; preds = %xbb6
26*f4a2713aSLionel Sambuc  store i32 0, i32* undef, align 8
27*f4a2713aSLionel Sambuc  br i1 undef, label %xbb6, label %bb5
28*f4a2713aSLionel Sambuc
29*f4a2713aSLionel Sambucbb5:                                              ; preds = %xbb4
30*f4a2713aSLionel Sambuc  call fastcc void @decl_mode_check_failed() nounwind
31*f4a2713aSLionel Sambuc  unreachable
32*f4a2713aSLionel Sambuc
33*f4a2713aSLionel Sambucxbb6:                                              ; preds = %xbb4, %ybb2
34*f4a2713aSLionel Sambuc  %tmp7 = icmp slt i32 undef, 0                   ; <i1> [#uses=1]
35*f4a2713aSLionel Sambuc  br i1 %tmp7, label %xbb4, label %ybb1
36*f4a2713aSLionel Sambuc
37*f4a2713aSLionel Sambucybb8:                                              ; preds = %ybb1
38*f4a2713aSLionel Sambuc  %tmp9 = icmp eq i8** undef, null                ; <i1> [#uses=1]
39*f4a2713aSLionel Sambuc  br i1 %tmp9, label %bb10, label %ybb12
40*f4a2713aSLionel Sambuc
41*f4a2713aSLionel Sambucbb10:                                             ; preds = %ybb8
42*f4a2713aSLionel Sambuc  %tmp11 = load i8** undef, align 8               ; <i8*> [#uses=1]
43*f4a2713aSLionel Sambuc  call void (i8*, ...)* @fatal(i8* getelementptr inbounds ([37 x i8]* @.str96, i64 0, i64 0), i8* %tmp11) nounwind
44*f4a2713aSLionel Sambuc  unreachable
45*f4a2713aSLionel Sambuc
46*f4a2713aSLionel Sambucybb12:                                             ; preds = %ybb8
47*f4a2713aSLionel Sambuc  br i1 undef, label %bb15, label %ybb13
48*f4a2713aSLionel Sambuc
49*f4a2713aSLionel Sambucybb13:                                             ; preds = %ybb12
50*f4a2713aSLionel Sambuc  %tmp14 = icmp sgt i32 undef, 0                  ; <i1> [#uses=1]
51*f4a2713aSLionel Sambuc  br i1 %tmp14, label %bb16, label %ybb1
52*f4a2713aSLionel Sambuc
53*f4a2713aSLionel Sambucbb15:                                             ; preds = %ybb12
54*f4a2713aSLionel Sambuc  call void (i8*, ...)* @fatal(i8* getelementptr inbounds ([37 x i8]* @.str96, i64 0, i64 0), i8* undef) nounwind
55*f4a2713aSLionel Sambuc  unreachable
56*f4a2713aSLionel Sambuc
57*f4a2713aSLionel Sambucbb16:                                             ; preds = %ybb13
58*f4a2713aSLionel Sambuc  unreachable
59*f4a2713aSLionel Sambuc
60*f4a2713aSLionel Sambucbb17:                                             ; preds = %ybb1
61*f4a2713aSLionel Sambuc  unreachable
62*f4a2713aSLionel Sambuc
63*f4a2713aSLionel Sambucbb18:                                             ; preds = %ybb1
64*f4a2713aSLionel Sambuc  unreachable
65*f4a2713aSLionel Sambuc
66*f4a2713aSLionel Sambucbb19:                                             ; preds = %ybb1
67*f4a2713aSLionel Sambuc  unreachable
68*f4a2713aSLionel Sambuc}
69*f4a2713aSLionel Sambuc
70*f4a2713aSLionel Sambucdeclare void @fatal(i8*, ...)
71*f4a2713aSLionel Sambuc
72*f4a2713aSLionel Sambucdeclare fastcc void @decl_mode_check_failed() nounwind
73