Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / ARM / 2007-04-02-RegScavengerAssert.ll
blob4cea5400980ea09a28e1a26df0c78a5015f42400
1 ; RUN: llc < %s -mtriple=arm-apple-darwin
3         %struct.H_TBL = type { [17 x i8], [256 x i8], i32 }
4         %struct.Q_TBL = type { [64 x i16], i32 }
5         %struct.anon = type { [80 x i8] }
6         %struct.X_c_coef_ccler = type { ptr, ptr }
7         %struct.X_c_main_ccler = type { ptr, ptr }
8         %struct.X_c_prep_ccler = type { ptr, ptr }
9         %struct.X_color_converter = type { ptr, ptr }
10         %struct.X_common_struct = type { ptr, ptr, ptr, ptr, i32, i32 }
11         %struct.X_comp_main = type { ptr, ptr, ptr, i32, i32 }
12         %struct.X_component_info = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr }
13         %struct.X_Y = type { ptr, ptr, ptr, ptr, i32, i32, ptr, i32, i32, i32, i32, double, i32, i32, i32, ptr, [4 x ptr], [4 x ptr], [4 x ptr], [16 x i8], [16 x i8], [16 x i8], i32, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i16, i16, i32, i32, i32, i32, i32, i32, i32, [4 x ptr], i32, i32, i32, [10 x i32], i32, i32, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32 }
14         %struct.X_destination_mgr = type { ptr, i32, ptr, ptr, ptr }
15         %struct.X_downssr = type { ptr, ptr, i32 }
16         %struct.X_entropy_en = type { ptr, ptr, ptr }
17         %struct.X_error_mgr = type { ptr, ptr, ptr, ptr, ptr, i32, %struct.anon, i32, i32, ptr, i32, ptr, i32, i32 }
18         %struct.X_forward_D = type { ptr, ptr }
19         %struct.X_marker_writer = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr }
20         %struct.X_memory_mgr = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32 }
21         %struct.X_progress_mgr = type { ptr, i32, i32, i32, i32 }
22         %struct.X_scan_info = type { i32, [4 x i32], i32, i32, i32, i32 }
23         %struct.jvirt_bAY_cc = type opaque
24         %struct.jvirt_sAY_cc = type opaque
26 define void @test(ptr %cinfo) {
27 entry:
28         br i1 false, label %bb.preheader, label %return
30 bb.preheader:           ; preds = %entry
31         %tbl.014.us = load i32, ptr null                ; <i32> [#uses=1]
32         br i1 false, label %cond_next.us, label %bb
34 cond_next51.us:         ; preds = %cond_next.us, %cond_true33.us.cond_true46.us_crit_edge
35         %htblptr.019.1.us = phi ptr [ %tmp37.us, %cond_true33.us.cond_true46.us_crit_edge ], [ %tmp37.us, %cond_next.us ]               ; <ptr> [#uses=0]
36         ret void
38 cond_true33.us.cond_true46.us_crit_edge:                ; preds = %cond_next.us
39         call void @_C_X_a_HT( )
40         br label %cond_next51.us
42 cond_next.us:           ; preds = %bb.preheader
43         %tmp37.us = getelementptr %struct.X_Y, ptr %cinfo, i32 0, i32 17, i32 %tbl.014.us               ; <ptr> [#uses=3]
44         %tmp4524.us = load ptr, ptr %tmp37.us           ; <ptr> [#uses=1]
45         icmp eq ptr %tmp4524.us, null           ; <i1>:0 [#uses=1]
46         br i1 %0, label %cond_true33.us.cond_true46.us_crit_edge, label %cond_next51.us
48 bb:             ; preds = %bb.preheader
49         ret void
51 return:         ; preds = %entry
52         ret void
55 declare void @_C_X_a_HT()