xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/2007-04-02-RegScavengerAssert.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=arm -mtriple=arm-apple-darwin
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker	%struct.H_TBL = type { [17 x i8], [256 x i8], i32 }
4*9880d681SAndroid Build Coastguard Worker	%struct.Q_TBL = type { [64 x i16], i32 }
5*9880d681SAndroid Build Coastguard Worker	%struct.anon = type { [80 x i8] }
6*9880d681SAndroid Build Coastguard Worker	%struct.X_c_coef_ccler = type { void (%struct.X_Y*, i32)*, i32 (%struct.X_Y*, i8***)* }
7*9880d681SAndroid Build Coastguard Worker	%struct.X_c_main_ccler = type { void (%struct.X_Y*, i32)*, void (%struct.X_Y*, i8**, i32*, i32)* }
8*9880d681SAndroid Build Coastguard Worker	%struct.X_c_prep_ccler = type { void (%struct.X_Y*, i32)*, void (%struct.X_Y*, i8**, i32*, i32, i8***, i32*, i32)* }
9*9880d681SAndroid Build Coastguard Worker	%struct.X_color_converter = type { void (%struct.X_Y*)*, void (%struct.X_Y*, i8**, i8***, i32, i32)* }
10*9880d681SAndroid Build Coastguard Worker	%struct.X_common_struct = type { %struct.X_error_mgr*, %struct.X_memory_mgr*, %struct.X_progress_mgr*, i8*, i32, i32 }
11*9880d681SAndroid Build Coastguard Worker	%struct.X_comp_master = type { void (%struct.X_Y*)*, void (%struct.X_Y*)*, void (%struct.X_Y*)*, i32, i32 }
12*9880d681SAndroid Build Coastguard Worker	%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*9880d681SAndroid Build Coastguard Worker	%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*9880d681SAndroid Build Coastguard Worker	%struct.X_destination_mgr = type { i8*, i32, void (%struct.X_Y*)*, i32 (%struct.X_Y*)*, void (%struct.X_Y*)* }
15*9880d681SAndroid Build Coastguard Worker	%struct.X_downssr = type { void (%struct.X_Y*)*, void (%struct.X_Y*, i8***, i32, i8***, i32)*, i32 }
16*9880d681SAndroid Build Coastguard Worker	%struct.X_entropy_en = type { void (%struct.X_Y*, i32)*, i32 (%struct.X_Y*, [64 x i16]**)*, void (%struct.X_Y*)* }
17*9880d681SAndroid Build Coastguard Worker	%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*9880d681SAndroid Build Coastguard Worker	%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*9880d681SAndroid Build Coastguard Worker	%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*9880d681SAndroid Build Coastguard Worker	%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*9880d681SAndroid Build Coastguard Worker	%struct.X_progress_mgr = type { void (%struct.X_common_struct*)*, i32, i32, i32, i32 }
22*9880d681SAndroid Build Coastguard Worker	%struct.X_scan_info = type { i32, [4 x i32], i32, i32, i32, i32 }
23*9880d681SAndroid Build Coastguard Worker	%struct.jvirt_bAY_cc = type opaque
24*9880d681SAndroid Build Coastguard Worker	%struct.jvirt_sAY_cc = type opaque
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Workerdefine void @test(%struct.X_Y* %cinfo) {
27*9880d681SAndroid Build Coastguard Workerentry:
28*9880d681SAndroid Build Coastguard Worker	br i1 false, label %bb.preheader, label %return
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Workerbb.preheader:		; preds = %entry
31*9880d681SAndroid Build Coastguard Worker	%tbl.014.us = load i32, i32* null		; <i32> [#uses=1]
32*9880d681SAndroid Build Coastguard Worker	br i1 false, label %cond_next.us, label %bb
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Workercond_next51.us:		; preds = %cond_next.us, %cond_true33.us.cond_true46.us_crit_edge
35*9880d681SAndroid Build Coastguard Worker	%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*9880d681SAndroid Build Coastguard Worker	ret void
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Workercond_true33.us.cond_true46.us_crit_edge:		; preds = %cond_next.us
39*9880d681SAndroid Build Coastguard Worker	call void @_C_X_a_HT( )
40*9880d681SAndroid Build Coastguard Worker	br label %cond_next51.us
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Workercond_next.us:		; preds = %bb.preheader
43*9880d681SAndroid Build Coastguard Worker	%tmp37.us = getelementptr %struct.X_Y, %struct.X_Y* %cinfo, i32 0, i32 17, i32 %tbl.014.us		; <%struct.H_TBL**> [#uses=3]
44*9880d681SAndroid Build Coastguard Worker	%tmp4524.us = load %struct.H_TBL*, %struct.H_TBL** %tmp37.us		; <%struct.H_TBL*> [#uses=1]
45*9880d681SAndroid Build Coastguard Worker	icmp eq %struct.H_TBL* %tmp4524.us, null		; <i1>:0 [#uses=1]
46*9880d681SAndroid Build Coastguard Worker	br i1 %0, label %cond_true33.us.cond_true46.us_crit_edge, label %cond_next51.us
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Workerbb:		; preds = %bb.preheader
49*9880d681SAndroid Build Coastguard Worker	ret void
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Workerreturn:		; preds = %entry
52*9880d681SAndroid Build Coastguard Worker	ret void
53*9880d681SAndroid Build Coastguard Worker}
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Workerdeclare void @_C_X_a_HT()
56