blob: 479c450ca20fd0308b5e1ed78da559820069aeef [file] [log] [blame]
Dan Gohman07adb852009-10-20 04:50:37 +00001; RUN: llc -verify-loop-info -verify-dom-info -march=x86-64 < %s
2; PR5243
3
4@.str96 = external constant [37 x i8], align 8 ; <[37 x i8]*> [#uses=1]
5
6define void @foo() nounwind {
7bb:
8 br label %ybb1
9
10ybb1: ; preds = %yybb13, %xbb6, %bb
11 switch i32 undef, label %bb18 [
12 i32 150, label %ybb2
13 i32 151, label %bb17
14 i32 152, label %bb19
15 i32 157, label %ybb8
16 ]
17
18ybb2: ; preds = %ybb1
19 %tmp = icmp eq i8** undef, null ; <i1> [#uses=1]
20 br i1 %tmp, label %bb3, label %xbb6
21
22bb3: ; preds = %ybb2
23 unreachable
24
25xbb4: ; preds = %xbb6
26 store i32 0, i32* undef, align 8
27 br i1 undef, label %xbb6, label %bb5
28
29bb5: ; preds = %xbb4
30 call fastcc void @decl_mode_check_failed() nounwind
31 unreachable
32
33xbb6: ; preds = %xbb4, %ybb2
34 %tmp7 = icmp slt i32 undef, 0 ; <i1> [#uses=1]
35 br i1 %tmp7, label %xbb4, label %ybb1
36
37ybb8: ; preds = %ybb1
38 %tmp9 = icmp eq i8** undef, null ; <i1> [#uses=1]
39 br i1 %tmp9, label %bb10, label %ybb12
40
41bb10: ; preds = %ybb8
42 %tmp11 = load i8** undef, align 8 ; <i8*> [#uses=1]
43 call void (i8*, ...)* @fatal(i8* getelementptr inbounds ([37 x i8]* @.str96, i64 0, i64 0), i8* %tmp11) nounwind
44 unreachable
45
46ybb12: ; preds = %ybb8
47 br i1 undef, label %bb15, label %ybb13
48
49ybb13: ; preds = %ybb12
50 %tmp14 = icmp sgt i32 undef, 0 ; <i1> [#uses=1]
51 br i1 %tmp14, label %bb16, label %ybb1
52
53bb15: ; preds = %ybb12
54 call void (i8*, ...)* @fatal(i8* getelementptr inbounds ([37 x i8]* @.str96, i64 0, i64 0), i8* undef) nounwind
55 unreachable
56
57bb16: ; preds = %ybb13
58 unreachable
59
60bb17: ; preds = %ybb1
61 unreachable
62
63bb18: ; preds = %ybb1
64 unreachable
65
66bb19: ; preds = %ybb1
67 unreachable
68}
69
70declare void @fatal(i8*, ...)
71
72declare fastcc void @decl_mode_check_failed() nounwind