Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / discontiguous-loops.ll
blobf87dcd9e653886cdbeaf3ffd991e48d0ac687ddf
1 ; RUN: llc -verify-loop-info -verify-dom-info -mtriple=x86_64-- < %s
2 ; PR5243
4 @.str96 = external constant [37 x i8], align 8    ; <ptr> [#uses=1]
6 define void @foo() nounwind {
7 bb:
8   br label %ybb1
10 ybb1:                                              ; 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   ]
18 ybb2:                                              ; preds = %ybb1
19   %tmp = icmp eq ptr undef, null                 ; <i1> [#uses=1]
20   br i1 %tmp, label %bb3, label %xbb6
22 bb3:                                              ; preds = %ybb2
23   unreachable
25 xbb4:                                              ; preds = %xbb6
26   store i32 0, ptr undef, align 8
27   br i1 undef, label %xbb6, label %bb5
29 bb5:                                              ; preds = %xbb4
30   call fastcc void @decl_mode_check_failed() nounwind
31   unreachable
33 xbb6:                                              ; preds = %xbb4, %ybb2
34   %tmp7 = icmp slt i32 undef, 0                   ; <i1> [#uses=1]
35   br i1 %tmp7, label %xbb4, label %ybb1
37 ybb8:                                              ; preds = %ybb1
38   %tmp9 = icmp eq ptr undef, null                ; <i1> [#uses=1]
39   br i1 %tmp9, label %bb10, label %ybb12
41 bb10:                                             ; preds = %ybb8
42   %tmp11 = load ptr, ptr undef, align 8               ; <ptr> [#uses=1]
43   call void (ptr, ...) @fatal(ptr @.str96, ptr %tmp11) nounwind
44   unreachable
46 ybb12:                                             ; preds = %ybb8
47   br i1 undef, label %bb15, label %ybb13
49 ybb13:                                             ; preds = %ybb12
50   %tmp14 = icmp sgt i32 undef, 0                  ; <i1> [#uses=1]
51   br i1 %tmp14, label %bb16, label %ybb1
53 bb15:                                             ; preds = %ybb12
54   call void (ptr, ...) @fatal(ptr @.str96, ptr undef) nounwind
55   unreachable
57 bb16:                                             ; preds = %ybb13
58   unreachable
60 bb17:                                             ; preds = %ybb1
61   unreachable
63 bb18:                                             ; preds = %ybb1
64   unreachable
66 bb19:                                             ; preds = %ybb1
67   unreachable
70 declare void @fatal(ptr, ...)
72 declare fastcc void @decl_mode_check_failed() nounwind