Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=arm -mtriple=arm-apple-darwin |
Evan Cheng | ff6ad39 | 2007-04-02 18:47:13 +0000 | [diff] [blame] | 2 | |
| 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 { void (%struct.X_Y*, i32)*, i32 (%struct.X_Y*, i8***)* } |
| 7 | %struct.X_c_main_ccler = type { void (%struct.X_Y*, i32)*, void (%struct.X_Y*, i8**, i32*, i32)* } |
| 8 | %struct.X_c_prep_ccler = type { void (%struct.X_Y*, i32)*, void (%struct.X_Y*, i8**, i32*, i32, i8***, i32*, i32)* } |
| 9 | %struct.X_color_converter = type { void (%struct.X_Y*)*, void (%struct.X_Y*, i8**, i8***, i32, i32)* } |
| 10 | %struct.X_common_struct = type { %struct.X_error_mgr*, %struct.X_memory_mgr*, %struct.X_progress_mgr*, i8*, i32, i32 } |
| 11 | %struct.X_comp_master = type { void (%struct.X_Y*)*, void (%struct.X_Y*)*, void (%struct.X_Y*)*, 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, %struct.Q_TBL*, i8* } |
| 13 | %struct.X_Y = type { %struct.X_error_mgr*, %struct.X_memory_mgr*, %struct.X_progress_mgr*, i8*, i32, i32, %struct.X_destination_mgr*, i32, i32, i32, i32, double, i32, i32, i32, %struct.X_component_info*, [4 x %struct.Q_TBL*], [4 x %struct.H_TBL*], [4 x %struct.H_TBL*], [16 x i8], [16 x i8], [16 x i8], i32, %struct.X_scan_info*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i16, i16, i32, i32, i32, i32, i32, i32, i32, [4 x %struct.X_component_info*], i32, i32, i32, [10 x i32], i32, i32, i32, i32, %struct.X_comp_master*, %struct.X_c_main_ccler*, %struct.X_c_prep_ccler*, %struct.X_c_coef_ccler*, %struct.X_marker_writer*, %struct.X_color_converter*, %struct.X_downssr*, %struct.X_forward_D*, %struct.X_entropy_en*, %struct.X_scan_info*, i32 } |
| 14 | %struct.X_destination_mgr = type { i8*, i32, void (%struct.X_Y*)*, i32 (%struct.X_Y*)*, void (%struct.X_Y*)* } |
| 15 | %struct.X_downssr = type { void (%struct.X_Y*)*, void (%struct.X_Y*, i8***, i32, i8***, i32)*, i32 } |
| 16 | %struct.X_entropy_en = type { void (%struct.X_Y*, i32)*, i32 (%struct.X_Y*, [64 x i16]**)*, void (%struct.X_Y*)* } |
| 17 | %struct.X_error_mgr = type { void (%struct.X_common_struct*)*, void (%struct.X_common_struct*, i32)*, void (%struct.X_common_struct*)*, void (%struct.X_common_struct*, i8*)*, void (%struct.X_common_struct*)*, i32, %struct.anon, i32, i32, i8**, i32, i8**, i32, i32 } |
| 18 | %struct.X_forward_D = type { void (%struct.X_Y*)*, void (%struct.X_Y*, %struct.X_component_info*, i8**, [64 x i16]*, i32, i32, i32)* } |
| 19 | %struct.X_marker_writer = type { void (%struct.X_Y*)*, void (%struct.X_Y*)*, void (%struct.X_Y*)*, void (%struct.X_Y*)*, void (%struct.X_Y*)*, void (%struct.X_Y*, i32, i32)*, void (%struct.X_Y*, i32)* } |
| 20 | %struct.X_memory_mgr = type { i8* (%struct.X_common_struct*, i32, i32)*, i8* (%struct.X_common_struct*, i32, i32)*, i8** (%struct.X_common_struct*, i32, i32, i32)*, [64 x i16]** (%struct.X_common_struct*, i32, i32, i32)*, %struct.jvirt_sAY_cc* (%struct.X_common_struct*, i32, i32, i32, i32, i32)*, %struct.jvirt_bAY_cc* (%struct.X_common_struct*, i32, i32, i32, i32, i32)*, void (%struct.X_common_struct*)*, i8** (%struct.X_common_struct*, %struct.jvirt_sAY_cc*, i32, i32, i32)*, [64 x i16]** (%struct.X_common_struct*, %struct.jvirt_bAY_cc*, i32, i32, i32)*, void (%struct.X_common_struct*, i32)*, void (%struct.X_common_struct*)*, i32, i32 } |
| 21 | %struct.X_progress_mgr = type { void (%struct.X_common_struct*)*, 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 |
| 25 | |
| 26 | define void @test(%struct.X_Y* %cinfo) { |
| 27 | entry: |
| 28 | br i1 false, label %bb.preheader, label %return |
| 29 | |
| 30 | bb.preheader: ; preds = %entry |
| 31 | %tbl.014.us = load i32* null ; <i32> [#uses=1] |
| 32 | br i1 false, label %cond_next.us, label %bb |
| 33 | |
| 34 | cond_next51.us: ; preds = %cond_next.us, %cond_true33.us.cond_true46.us_crit_edge |
| 35 | %htblptr.019.1.us = phi %struct.H_TBL** [ %tmp37.us, %cond_true33.us.cond_true46.us_crit_edge ], [ %tmp37.us, %cond_next.us ] ; <%struct.H_TBL**> [#uses=0] |
| 36 | ret void |
| 37 | |
| 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 |
| 41 | |
| 42 | cond_next.us: ; preds = %bb.preheader |
| 43 | %tmp37.us = getelementptr %struct.X_Y* %cinfo, i32 0, i32 17, i32 %tbl.014.us ; <%struct.H_TBL**> [#uses=3] |
| 44 | %tmp4524.us = load %struct.H_TBL** %tmp37.us ; <%struct.H_TBL*> [#uses=1] |
| 45 | icmp eq %struct.H_TBL* %tmp4524.us, null ; <i1>:0 [#uses=1] |
| 46 | br i1 %0, label %cond_true33.us.cond_true46.us_crit_edge, label %cond_next51.us |
| 47 | |
| 48 | bb: ; preds = %bb.preheader |
| 49 | ret void |
| 50 | |
| 51 | return: ; preds = %entry |
| 52 | ret void |
| 53 | } |
| 54 | |
| 55 | declare void @_C_X_a_HT() |