Test case for PR1266.
[oota-llvm.git] / test / CodeGen / ARM / 2007-03-26-RegScavengerAssert.ll
1 ; RUN: llvm-as < %s | llc -march=arm
2 ; PR1266
3
4 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
5 target triple = "arm-linux-gnueabi"
6         %struct.CUMULATIVE_ARGS = type { i32, i32, i32, i32, i32, i32 }
7         %struct.FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct.FILE*, i32, i32, i32, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i32, [52 x i8] }
8         %struct.VEC_edge = type { i32, i32, [1 x %struct.edge_def*] }
9         %struct.VEC_tree = type { i32, i32, [1 x %struct.tree_node*] }
10         %struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, i32 }
11         %struct._obstack_chunk = type { i8*, %struct._obstack_chunk*, [4 x i8] }
12         %struct.addr_diff_vec_flags = type { i8, i8, i8, i8 }
13         %struct.arm_stack_offsets = type { i32, i32, i32, i32, i32 }
14         %struct.attribute_spec = type { i8*, i32, i32, i8, i8, i8, %struct.tree_node* (%struct.tree_node**, %struct.tree_node*, %struct.tree_node*, i32, i8*)* }
15         %struct.basic_block_def = type { %struct.rtx_def*, %struct.rtx_def*, %struct.tree_node*, %struct.VEC_edge*, %struct.VEC_edge*, %struct.bitmap_head_def*, %struct.bitmap_head_def*, i8*, %struct.loop*, [2 x %struct.et_node*], %struct.basic_block_def*, %struct.basic_block_def*, %struct.reorder_block_def*, %struct.bb_ann_d*, i64, i32, i32, i32, i32 }
16         %struct.bb_ann_d = type { %struct.tree_node*, i8, %struct.edge_prediction* }
17         %struct.bitmap_element_def = type { %struct.bitmap_element_def*, %struct.bitmap_element_def*, i32, [4 x i32] }
18         %struct.bitmap_head_def = type { %struct.bitmap_element_def*, %struct.bitmap_element_def*, i32, %struct.bitmap_obstack* }
19         %struct.bitmap_obstack = type { %struct.bitmap_element_def*, %struct.bitmap_head_def*, %struct.obstack }
20         %struct.cgraph_edge = type { %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.tree_node*, i8*, i8* }
21         %struct.cgraph_global_info = type { %struct.cgraph_node*, i32, i8 }
22         %struct.cgraph_local_info = type { i32, i8, i8, i8, i8, i8, i8, i8 }
23         %struct.cgraph_node = type { %struct.tree_node*, %struct.cgraph_edge*, %struct.cgraph_edge*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, %struct.cgraph_node*, i8*, %struct.cgraph_local_info, %struct.cgraph_global_info, %struct.cgraph_rtl_info, i32, i8, i8, i8, i8, i8 }
24         %struct.cgraph_rtl_info = type { i32, i8, i8 }
25         %struct.cl_perfunc_opts = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
26         %struct.cselib_val_struct = type opaque
27         %struct.dataflow_d = type { %struct.varray_head_tag*, [2 x %struct.tree_node*] }
28         %struct.def_operand_ptr = type { %struct.tree_node** }
29         %struct.def_optype_d = type { i32, [1 x %struct.def_operand_ptr] }
30         %struct.diagnostic_context = type { %struct.pretty_printer*, [8 x i32], i8, i8, i8, void (%struct.diagnostic_context*, %struct.diagnostic_info*)*, void (%struct.diagnostic_context*, %struct.diagnostic_info*)*, void (i8*, i8**)*, %struct.tree_node*, i32, i32 }
31         %struct.diagnostic_info = type { %struct.text_info, %struct.location_t, i32 }
32         %struct.die_struct = type opaque
33         %struct.edge_def = type { %struct.basic_block_def*, %struct.basic_block_def*, %struct.edge_def_insns, i8*, %struct.location_t*, i32, i32, i64, i32 }
34         %struct.edge_def_insns = type { %struct.rtx_def* }
35         %struct.edge_prediction = type { %struct.edge_prediction*, %struct.edge_def*, i32, i32 }
36         %struct.eh_status = type opaque
37         %struct.elt_list = type opaque
38         %struct.elt_t = type { %struct.tree_node*, %struct.tree_node* }
39         %struct.emit_status = type { i32, i32, %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack*, i32, %struct.location_t, i32, i8*, %struct.rtx_def** }
40         %struct.et_node = type opaque
41         %struct.expr_status = type { i32, i32, i32, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def* }
42         %struct.function = type { %struct.eh_status*, %struct.expr_status*, %struct.emit_status*, %struct.varasm_status*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.function*, i32, i32, i32, i32, %struct.rtx_def*, %struct.CUMULATIVE_ARGS, %struct.rtx_def*, %struct.rtx_def*, %struct.initial_value_struct*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, %struct.rtx_def*, i8, i32, i64, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, %struct.varray_head_tag*, %struct.temp_slot*, i32, %struct.var_refs_queue*, i32, i32, %struct.rtvec_def*, %struct.tree_node*, i32, i32, i32, %struct.machine_function*, i32, i32, i8, i8, %struct.language_function*, %struct.rtx_def*, i32, i32, i32, i32, %struct.location_t, %struct.varray_head_tag*, %struct.tree_node*, i8, i8, i8 }
43         %struct.ggc_root_tab = type { i8*, i32, i32, void (i8*)*, void (i8*)* }
44         %struct.gimplify_ctx = type { %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.varray_head_tag*, %struct.htab*, i32, i8, i8 }
45         %struct.gimplify_init_ctor_preeval_data = type { %struct.tree_node*, i32 }
46         %struct.ht_identifier = type { i8*, i32, i32 }
47         %struct.htab = type { i32 (i8*)*, i32 (i8*, i8*)*, void (i8*)*, i8**, i32, i32, i32, i32, i32, i8* (i32, i32)*, void (i8*)*, i8*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i32 }
48         %struct.initial_value_struct = type opaque
49         %struct.lang_decl = type opaque
50         %struct.lang_hooks = type { i8*, i32, i32 (i32)*, i32 (i32, i8**)*, void (%struct.diagnostic_context*)*, i32 (i32, i8*, i32)*, i8 (i8*, i32) zext *, i8 (i8**) zext *, i8 () zext *, void ()*, void ()*, void (i32)*, void ()*, i64 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.rtx_def* (%struct.tree_node*, %struct.rtx_def*, i32, i32, %struct.rtx_def**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, i32 (%struct.rtx_def*, %struct.tree_node*)*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zext *, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*)*, void (%struct.tree_node*)*, i8 () zext *, i8, i8, void ()*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, void (%struct.FILE*, %struct.tree_node*, i32)*, i8* (%struct.tree_node*, i32)*, i32 (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, void (%struct.diagnostic_context*, i8*)*, %struct.tree_node* (%struct.tree_node*)*, i64 (i64)*, %struct.attribute_spec*, %struct.attribute_spec*, %struct.attribute_spec*, i32 (%struct.tree_node*)*, %struct.lang_hooks_for_functions, %struct.lang_hooks_for_tree_inlining, %struct.lang_hooks_for_callgraph, %struct.lang_hooks_for_tree_dump, %struct.lang_hooks_for_decls, %struct.lang_hooks_for_types, i32 (%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*, i32, i32, i8*, %struct.tree_node*)* }
51         %struct.lang_hooks_for_callgraph = type { %struct.tree_node* (%struct.tree_node**, i32*, %struct.tree_node*)*, void (%struct.tree_node*)* }
52         %struct.lang_hooks_for_decls = type { i32 ()*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* ()*, i8 (%struct.tree_node*) zext *, void ()*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zext *, i8* (%struct.tree_node*)* }
53         %struct.lang_hooks_for_functions = type { void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, void (%struct.function*)*, i8 (%struct.tree_node*) zext * }
54         %struct.lang_hooks_for_tree_dump = type { i8 (i8*, %struct.tree_node*) zext *, i32 (%struct.tree_node*)* }
55         %struct.lang_hooks_for_tree_inlining = type { %struct.tree_node* (%struct.tree_node**, i32*, %struct.tree_node* (%struct.tree_node**, i32*, i8*)*, i8*, %struct.pointer_set_t*)*, i32 (%struct.tree_node**)*, i32 (%struct.tree_node*)*, %struct.tree_node* (i8*, %struct.tree_node*)*, i32 (%struct.tree_node*, %struct.tree_node*)*, i32 (%struct.tree_node*)*, i8 (%struct.tree_node*, %struct.tree_node*) zext *, i32 (%struct.tree_node*)*, void (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i32)* }
56         %struct.lang_hooks_for_types = type { %struct.tree_node* (i32)*, %struct.tree_node* (i32, i32)*, %struct.tree_node* (i32, i32)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, %struct.tree_node* (i32, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*, i8*)*, void (%struct.tree_node*, %struct.tree_node*)*, %struct.tree_node* (%struct.tree_node*)*, i8 }
57         %struct.lang_type = type opaque
58         %struct.language_function = type opaque
59         %struct.location_t = type { i8*, i32 }
60         %struct.loop = type opaque
61         %struct.machine_function = type { %struct.rtx_def*, i32, i32, i32, %struct.arm_stack_offsets, i32, i32, i32, [14 x %struct.rtx_def*] }
62         %struct.mem_attrs = type { i64, %struct.tree_node*, %struct.rtx_def*, %struct.rtx_def*, i32 }
63         %struct.obstack = type { i32, %struct._obstack_chunk*, i8*, i8*, i8*, i32, i32, %struct._obstack_chunk* (i8*, i32)*, void (i8*, %struct._obstack_chunk*)*, i8*, i8 }
64         %struct.output_buffer = type { %struct.obstack, %struct.FILE*, i32, [128 x i8] }
65         %struct.phi_arg_d = type { %struct.tree_node*, i8 }
66         %struct.pointer_set_t = type opaque
67         %struct.pretty_printer = type { %struct.output_buffer*, i8*, i32, i32, i32, i32, i32, i8 (%struct.pretty_printer*, %struct.text_info*) zext *, i8, i8 }
68         %struct.ptr_info_def = type { i8, %struct.bitmap_head_def*, %struct.tree_node* }
69         %struct.real_value = type { i8, [3 x i8], [5 x i32] }
70         %struct.reg_attrs = type { %struct.tree_node*, i64 }
71         %struct.reg_info_def = type opaque
72         %struct.reorder_block_def = type { %struct.rtx_def*, %struct.rtx_def*, %struct.basic_block_def*, %struct.basic_block_def*, %struct.basic_block_def*, i32, i32, i32 }
73         %struct.rtunion = type { i32 }
74         %struct.rtvec_def = type { i32, [1 x %struct.rtx_def*] }
75         %struct.rtx_def = type { i16, i8, i8, %struct.u }
76         %struct.sequence_stack = type { %struct.rtx_def*, %struct.rtx_def*, %struct.sequence_stack* }
77         %struct.stmt_ann_d = type { %struct.tree_ann_common_d, i8, %struct.basic_block_def*, %struct.stmt_operands_d, %struct.dataflow_d*, %struct.bitmap_head_def*, i32 }
78         %struct.stmt_operands_d = type { %struct.def_optype_d*, %struct.def_optype_d*, %struct.v_may_def_optype_d*, %struct.vuse_optype_d*, %struct.v_may_def_optype_d* }
79         %struct.temp_slot = type opaque
80         %struct.text_info = type { i8*, i8**, i32 }
81         %struct.tree_ann_common_d = type { i32, i8*, %struct.tree_node* }
82         %struct.tree_ann_d = type { %struct.stmt_ann_d }
83         %struct.tree_binfo = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.VEC_tree*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.VEC_tree }
84         %struct.tree_block = type { %struct.tree_common, i8, [3 x i8], %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node* }
85         %struct.tree_common = type { %struct.tree_node*, %struct.tree_node*, %struct.tree_ann_d*, i8, i8, i8, i8, i8 }
86         %struct.tree_complex = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node* }
87         %struct.tree_decl = type { %struct.tree_common, %struct.location_t, i32, %struct.tree_node*, i8, i8, i8, i8, i8, i8, i8, i8, i32, %struct.tree_decl_u1, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, i32, %struct.tree_decl_u2, %struct.tree_node*, %struct.tree_node*, i64, %struct.lang_decl* }
88         %struct.tree_decl_u1 = type { i64 }
89         %struct.tree_decl_u1_a = type { i32 }
90         %struct.tree_decl_u2 = type { %struct.function* }
91         %struct.tree_exp = type { %struct.tree_common, %struct.location_t*, i32, %struct.tree_node*, [1 x %struct.tree_node*] }
92         %struct.tree_identifier = type { %struct.tree_common, %struct.ht_identifier }
93         %struct.tree_int_cst = type { %struct.tree_common, %struct.tree_int_cst_lowhi }
94         %struct.tree_int_cst_lowhi = type { i64, i64 }
95         %struct.tree_list = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node* }
96         %struct.tree_node = type { %struct.tree_decl }
97         %struct.tree_phi_node = type { %struct.tree_common, %struct.tree_node*, i32, i32, i32, %struct.basic_block_def*, %struct.dataflow_d*, [1 x %struct.phi_arg_d] }
98         %struct.tree_real_cst = type { %struct.tree_common, %struct.real_value* }
99         %struct.tree_ssa_name = type { %struct.tree_common, %struct.tree_node*, i32, %struct.ptr_info_def*, %struct.tree_node*, i8* }
100         %struct.tree_statement_list = type { %struct.tree_common, %struct.tree_statement_list_node*, %struct.tree_statement_list_node* }
101         %struct.tree_statement_list_node = type { %struct.tree_statement_list_node*, %struct.tree_statement_list_node*, %struct.tree_node* }
102         %struct.tree_stmt_iterator = type { %struct.tree_statement_list_node*, %struct.tree_node* }
103         %struct.tree_string = type { %struct.tree_common, i32, [1 x i8] }
104         %struct.tree_type = type { %struct.tree_common, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i32, i16, i8, i8, i32, %struct.tree_node*, %struct.tree_node*, %struct.rtunion, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, i64, %struct.lang_type* }
105         %struct.tree_type_symtab = type { i32 }
106         %struct.tree_value_handle = type { %struct.tree_common, %struct.value_set*, i32 }
107         %struct.tree_vec = type { %struct.tree_common, i32, [1 x %struct.tree_node*] }
108         %struct.tree_vector = type { %struct.tree_common, %struct.tree_node* }
109         %struct.u = type { [1 x i64] }
110         %struct.use_operand_ptr = type { %struct.tree_node** }
111         %struct.use_optype_d = type { i32, [1 x %struct.def_operand_ptr] }
112         %struct.v_def_use_operand_type_t = type { %struct.tree_node*, %struct.tree_node* }
113         %struct.v_may_def_optype_d = type { i32, [1 x %struct.elt_t] }
114         %struct.v_must_def_optype_d = type { i32, [1 x %struct.elt_t] }
115         %struct.value_set = type opaque
116         %struct.var_ann_d = type { %struct.tree_ann_common_d, i8, i8, %struct.tree_node*, %struct.varray_head_tag*, i32, i32, i32, %struct.tree_node*, %struct.tree_node* }
117         %struct.var_refs_queue = type { %struct.rtx_def*, i32, i32, %struct.var_refs_queue* }
118         %struct.varasm_status = type opaque
119         %struct.varray_data = type { [1 x i64] }
120         %struct.varray_head_tag = type { i32, i32, i32, i8*, %struct.u }
121         %struct.vuse_optype_d = type { i32, [1 x %struct.tree_node*] }
122 @gt_pch_rs_gt_gimplify_h = external global [2 x %struct.ggc_root_tab]           ; <[2 x %struct.ggc_root_tab]*> [#uses=0]
123 @tmp_var_id_num = external global i32           ; <i32*> [#uses=0]
124 @gt_ggc_r_gt_gimplify_h = external global [1 x %struct.ggc_root_tab]            ; <[1 x %struct.ggc_root_tab]*> [#uses=0]
125 @__FUNCTION__.19956 = external global [15 x i8]         ; <[15 x i8]*> [#uses=0]
126 @str = external global [42 x i8]                ; <[42 x i8]*> [#uses=1]
127 @__FUNCTION__.19974 = external global [22 x i8]         ; <[22 x i8]*> [#uses=0]
128 @gimplify_ctxp = external global %struct.gimplify_ctx*          ; <%struct.gimplify_ctx**> [#uses=0]
129 @cl_pf_opts = external global %struct.cl_perfunc_opts           ; <%struct.cl_perfunc_opts*> [#uses=0]
130 @__FUNCTION__.20030 = external global [22 x i8]         ; <[22 x i8]*> [#uses=0]
131 @__FUNCTION__.20099 = external global [24 x i8]         ; <[24 x i8]*> [#uses=0]
132 @global_trees = external global [47 x %struct.tree_node*]               ; <[47 x %struct.tree_node*]*> [#uses=0]
133 @tree_code_type = external global [0 x i32]             ; <[0 x i32]*> [#uses=2]
134 @current_function_decl = external global %struct.tree_node*             ; <%struct.tree_node**> [#uses=0]
135 @str1 = external global [2 x i8]                ; <[2 x i8]*> [#uses=0]
136 @str2 = external global [7 x i8]                ; <[7 x i8]*> [#uses=0]
137 @__FUNCTION__.20151 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
138 @__FUNCTION__.20221 = external global [9 x i8]          ; <[9 x i8]*> [#uses=0]
139 @tree_code_length = external global [0 x i8]            ; <[0 x i8]*> [#uses=0]
140 @__FUNCTION__.20435 = external global [17 x i8]         ; <[17 x i8]*> [#uses=0]
141 @__FUNCTION__.20496 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
142 @cfun = external global %struct.function*               ; <%struct.function**> [#uses=0]
143 @__FUNCTION__.20194 = external global [15 x i8]         ; <[15 x i8]*> [#uses=0]
144 @__FUNCTION__.19987 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
145 @__FUNCTION__.20532 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
146 @__FUNCTION__.20583 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
147 @__FUNCTION__.20606 = external global [22 x i8]         ; <[22 x i8]*> [#uses=0]
148 @__FUNCTION__.20644 = external global [17 x i8]         ; <[17 x i8]*> [#uses=0]
149 @__FUNCTION__.20681 = external global [13 x i8]         ; <[13 x i8]*> [#uses=0]
150 @__FUNCTION__.20700 = external global [13 x i8]         ; <[13 x i8]*> [#uses=0]
151 @__FUNCTION__.21426 = external global [20 x i8]         ; <[20 x i8]*> [#uses=0]
152 @__FUNCTION__.21471 = external global [17 x i8]         ; <[17 x i8]*> [#uses=0]
153 @__FUNCTION__.21962 = external global [27 x i8]         ; <[27 x i8]*> [#uses=0]
154 @__FUNCTION__.22992 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
155 @__FUNCTION__.23735 = external global [15 x i8]         ; <[15 x i8]*> [#uses=0]
156 @lang_hooks = external global %struct.lang_hooks                ; <%struct.lang_hooks*> [#uses=0]
157 @__FUNCTION__.27383 = external global [22 x i8]         ; <[22 x i8]*> [#uses=0]
158 @__FUNCTION__.20776 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
159 @__FUNCTION__.10672 = external global [9 x i8]          ; <[9 x i8]*> [#uses=0]
160 @str3 = external global [47 x i8]               ; <[47 x i8]*> [#uses=0]
161 @str4 = external global [7 x i8]                ; <[7 x i8]*> [#uses=0]
162 @__FUNCTION__.20065 = external global [25 x i8]         ; <[25 x i8]*> [#uses=0]
163 @__FUNCTION__.23256 = external global [16 x i8]         ; <[16 x i8]*> [#uses=0]
164 @__FUNCTION__.23393 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
165 @__FUNCTION__.20043 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
166 @__FUNCTION__.20729 = external global [23 x i8]         ; <[23 x i8]*> [#uses=0]
167 @__FUNCTION__.20563 = external global [24 x i8]         ; <[24 x i8]*> [#uses=0]
168 @__FUNCTION__.10663 = external global [10 x i8]         ; <[10 x i8]*> [#uses=0]
169 @__FUNCTION__.20367 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
170 @__FUNCTION__.20342 = external global [15 x i8]         ; <[15 x i8]*> [#uses=0]
171 @input_location = external global %struct.location_t            ; <%struct.location_t*> [#uses=0]
172 @__FUNCTION__.24510 = external global [27 x i8]         ; <[27 x i8]*> [#uses=0]
173 @__FUNCTION__.25097 = external global [25 x i8]         ; <[25 x i8]*> [#uses=0]
174 @__FUNCTION__.24705 = external global [26 x i8]         ; <[26 x i8]*> [#uses=0]
175 @str5 = external global [2 x i8]                ; <[2 x i8]*> [#uses=0]
176 @__FUNCTION__.25136 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
177 @__FUNCTION__.24450 = external global [31 x i8]         ; <[31 x i8]*> [#uses=0]
178 @implicit_built_in_decls = external global [471 x %struct.tree_node*]           ; <[471 x %struct.tree_node*]*> [#uses=0]
179 @__FUNCTION__.24398 = external global [31 x i8]         ; <[31 x i8]*> [#uses=0]
180 @__FUNCTION__.26156 = external global [14 x i8]         ; <[14 x i8]*> [#uses=1]
181 @unknown_location = external global %struct.location_t          ; <%struct.location_t*> [#uses=0]
182 @__FUNCTION__.23038 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
183 @str6 = external global [43 x i8]               ; <[43 x i8]*> [#uses=0]
184 @__FUNCTION__.25476 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
185 @__FUNCTION__.22136 = external global [20 x i8]         ; <[20 x i8]*> [#uses=1]
186 @__FUNCTION__.21997 = external global [23 x i8]         ; <[23 x i8]*> [#uses=0]
187 @__FUNCTION__.21247 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
188 @built_in_decls = external global [471 x %struct.tree_node*]            ; <[471 x %struct.tree_node*]*> [#uses=0]
189 @__FUNCTION__.21924 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
190 @__FUNCTION__.21861 = external global [25 x i8]         ; <[25 x i8]*> [#uses=0]
191 @global_dc = external global %struct.diagnostic_context*                ; <%struct.diagnostic_context**> [#uses=0]
192 @__FUNCTION__.25246 = external global [32 x i8]         ; <[32 x i8]*> [#uses=0]
193 @str7 = external global [4 x i8]                ; <[4 x i8]*> [#uses=0]
194 @stderr = external global %struct.FILE*         ; <%struct.FILE**> [#uses=0]
195 @str8 = external global [24 x i8]               ; <[24 x i8]*> [#uses=0]
196 @str9 = external global [22 x i8]               ; <[22 x i8]*> [#uses=0]
197 @__FUNCTION__.27653 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
198 @__FUNCTION__.27322 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
199 @__FUNCTION__.27139 = external global [20 x i8]         ; <[20 x i8]*> [#uses=0]
200 @__FUNCTION__.22462 = external global [23 x i8]         ; <[23 x i8]*> [#uses=0]
201 @str10 = external global [6 x i8]               ; <[6 x i8]*> [#uses=0]
202 @__FUNCTION__.25389 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
203 @__FUNCTION__.25650 = external global [18 x i8]         ; <[18 x i8]*> [#uses=0]
204 @str11 = external global [32 x i8]              ; <[32 x i8]*> [#uses=0]
205 @str12 = external global [3 x i8]               ; <[3 x i8]*> [#uses=0]
206 @str13 = external global [44 x i8]              ; <[44 x i8]*> [#uses=0]
207 @__FUNCTION__.27444 = external global [14 x i8]         ; <[14 x i8]*> [#uses=0]
208 @timevar_enable = external global i8            ; <i8*> [#uses=0]
209 @__FUNCTION__.27533 = external global [23 x i8]         ; <[23 x i8]*> [#uses=0]
210 @flag_instrument_function_entry_exit = external global i32              ; <i32*> [#uses=0]
211 @__FUNCTION__.25331 = external global [23 x i8]         ; <[23 x i8]*> [#uses=0]
212 @__FUNCTION__.20965 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
213 @str14 = external global [12 x i8]              ; <[12 x i8]*> [#uses=0]
214 @__FUNCTION__.26053 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
215 @__FUNCTION__.26004 = external global [20 x i8]         ; <[20 x i8]*> [#uses=0]
216 @str15 = external global [8 x i8]               ; <[8 x i8]*> [#uses=0]
217 @__FUNCTION__.21584 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
218 @str16 = external global [12 x i8]              ; <[12 x i8]*> [#uses=0]
219 @__FUNCTION__.25903 = external global [28 x i8]         ; <[28 x i8]*> [#uses=0]
220 @__FUNCTION__.22930 = external global [23 x i8]         ; <[23 x i8]*> [#uses=0]
221 @__FUNCTION__.23832 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
222 @str17 = external global [6 x i8]               ; <[6 x i8]*> [#uses=0]
223 @__FUNCTION__.24620 = external global [24 x i8]         ; <[24 x i8]*> [#uses=0]
224 @__FUNCTION__.24582 = external global [30 x i8]         ; <[30 x i8]*> [#uses=0]
225 @__FUNCTION__.21382 = external global [19 x i8]         ; <[19 x i8]*> [#uses=0]
226 @__FUNCTION__.21117 = external global [21 x i8]         ; <[21 x i8]*> [#uses=0]
227
228 implementation   ; Functions:
229
230 declare void @push_gimplify_context()
231
232 declare i32 @gimple_tree_hash(i8*)
233
234 declare i32 @iterative_hash_expr(%struct.tree_node*, i32)
235
236 declare i32 @gimple_tree_eq(i8*, i8*)
237
238 declare i32 @operand_equal_p(%struct.tree_node*, %struct.tree_node*, i32)
239
240 declare void @fancy_abort(i8*, i32, i8*)
241
242 declare i8* @xcalloc(i32, i32)
243
244 declare %struct.htab* @htab_create(i32, i32 (i8*)*, i32 (i8*, i8*)*, void (i8*)*)
245
246 declare void @free(i8*)
247
248 declare void @gimple_push_bind_expr(%struct.tree_node*)
249
250 declare void @gimple_pop_bind_expr()
251
252 declare %struct.tree_node* @gimple_current_bind_expr()
253
254 declare fastcc void @gimple_push_condition()
255
256 declare %struct.tree_node* @create_artificial_label()
257
258 declare %struct.tree_node* @build_decl_stat(i32, %struct.tree_node*, %struct.tree_node*)
259
260 declare void @tree_class_check_failed(%struct.tree_node*, i32, i8*, i32, i8*)
261
262 declare %struct.tree_node* @create_tmp_var_name(i8*)
263
264 declare i32 @strlen(i8*)
265
266 declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
267
268 declare i32 @sprintf(i8*, i8*, ...)
269
270 declare %struct.tree_node* @get_identifier(i8*)
271
272 declare %struct.tree_node* @create_tmp_var_raw(%struct.tree_node*, i8*)
273
274 declare %struct.tree_node* @build_qualified_type(%struct.tree_node*, i32)
275
276 declare i8* @get_name(%struct.tree_node*)
277
278 declare void @tree_operand_check_failed(i32, i32, i8*, i32, i8*)
279
280 declare void @tree_check_failed(%struct.tree_node*, i8*, i32, i8*, ...)
281
282 declare void @declare_tmp_vars(%struct.tree_node*, %struct.tree_node*)
283
284 declare %struct.tree_node* @nreverse(%struct.tree_node*)
285
286 declare void @gimple_add_tmp_var(%struct.tree_node*)
287
288 declare void @record_vars(%struct.tree_node*)
289
290 declare %struct.tree_node* @create_tmp_var(%struct.tree_node*, i8*)
291
292 declare void @pop_gimplify_context(%struct.tree_node*)
293
294 declare void @htab_delete(%struct.htab*)
295
296 declare fastcc void @annotate_one_with_locus(%struct.tree_node*, i32, i32)
297
298 declare void @annotate_with_locus(%struct.tree_node*, i32, i32)
299
300 declare %struct.tree_node* @mostly_copy_tree_r(%struct.tree_node**, i32*, i8*)
301
302 declare %struct.tree_node* @copy_tree_r(%struct.tree_node**, i32*, i8*)
303
304 declare %struct.tree_node* @mark_decls_volatile_r(%struct.tree_node**, i32*, i8*)
305
306 declare %struct.tree_node* @copy_if_shared_r(%struct.tree_node**, i32*, i8*)
307
308 declare %struct.tree_node* @walk_tree(%struct.tree_node**, %struct.tree_node* (%struct.tree_node**, i32*, i8*)*, i8*, %struct.pointer_set_t*)
309
310 declare %struct.tree_node* @unmark_visited_r(%struct.tree_node**, i32*, i8*)
311
312 declare fastcc void @unshare_body(%struct.tree_node**, %struct.tree_node*)
313
314 declare %struct.cgraph_node* @cgraph_node(%struct.tree_node*)
315
316 declare fastcc void @unvisit_body(%struct.tree_node**, %struct.tree_node*)
317
318 declare void @unshare_all_trees(%struct.tree_node*)
319
320 declare %struct.tree_node* @unshare_expr(%struct.tree_node*)
321
322 declare %struct.tree_node* @build_and_jump(%struct.tree_node**)
323
324 declare %struct.tree_node* @build1_stat(i32, %struct.tree_node*, %struct.tree_node*)
325
326 declare i32 @compare_case_labels(i8*, i8*)
327
328 declare i32 @tree_int_cst_compare(%struct.tree_node*, %struct.tree_node*)
329
330 declare void @sort_case_labels(%struct.tree_node*)
331
332 declare void @tree_vec_elt_check_failed(i32, i32, i8*, i32, i8*)
333
334 declare void @qsort(i8*, i32, i32, i32 (i8*, i8*)*)
335
336 declare %struct.tree_node* @force_labels_r(%struct.tree_node**, i32*, i8*)
337
338 declare fastcc void @canonicalize_component_ref(%struct.tree_node**)
339
340 declare %struct.tree_node* @get_unwidened(%struct.tree_node*, %struct.tree_node*)
341
342 declare fastcc void @maybe_with_size_expr(%struct.tree_node**)
343
344 declare %struct.tree_node* @substitute_placeholder_in_expr(%struct.tree_node*, %struct.tree_node*)
345
346 declare %struct.tree_node* @build2_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
347
348 declare fastcc %struct.tree_node* @gimple_boolify(%struct.tree_node*)
349
350 declare %struct.tree_node* @convert(%struct.tree_node*, %struct.tree_node*)
351
352 declare %struct.tree_node* @gimplify_init_ctor_preeval_1(%struct.tree_node**, i32*, i8*)
353
354 declare i64 @get_alias_set(%struct.tree_node*)
355
356 declare i32 @alias_sets_conflict_p(i64, i64)
357
358 declare fastcc i8 @cpt_same_type(%struct.tree_node*, %struct.tree_node*) zext 
359
360 declare %struct.tree_node* @check_pointer_types_r(%struct.tree_node**, i32*, i8*)
361
362 declare %struct.tree_node* @voidify_wrapper_expr(%struct.tree_node*, %struct.tree_node*)
363
364 declare i32 @integer_zerop(%struct.tree_node*)
365
366 declare fastcc void @append_to_statement_list_1(%struct.tree_node*, %struct.tree_node**)
367
368 declare %struct.tree_node* @alloc_stmt_list()
369
370 declare void @tsi_link_after(%struct.tree_stmt_iterator*, %struct.tree_node*, i32)
371
372 declare void @append_to_statement_list_force(%struct.tree_node*, %struct.tree_node**)
373
374 declare void @append_to_statement_list(%struct.tree_node*, %struct.tree_node**)
375
376 declare fastcc %struct.tree_node* @shortcut_cond_r(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**)
377
378 declare %struct.tree_node* @build3_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
379
380 declare fastcc %struct.tree_node* @shortcut_cond_expr(%struct.tree_node*)
381
382 declare %struct.tree_node* @expr_last(%struct.tree_node*)
383
384 declare i8 @block_may_fallthru(%struct.tree_node*) zext 
385
386 declare fastcc void @gimple_pop_condition(%struct.tree_node**)
387
388 declare %struct.tree_node* @gimple_build_eh_filter(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
389
390 declare void @annotate_all_with_locus(%struct.tree_node**, i32, i32)
391
392 declare fastcc %struct.tree_node* @internal_get_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**, i8 zext )
393
394 define i32 @gimplify_expr(%struct.tree_node** %expr_p, %struct.tree_node** %pre_p, %struct.tree_node** %post_p, i8 (%struct.tree_node*) zext * %gimple_test_f, i32 %fallback) {
395 entry:
396         %internal_post = alloca %struct.tree_node*, align 4             ; <%struct.tree_node**> [#uses=2]
397         %pre_p_addr.0 = select i1 false, %struct.tree_node** null, %struct.tree_node** %pre_p           ; <%struct.tree_node**> [#uses=7]
398         %post_p_addr.0 = select i1 false, %struct.tree_node** %internal_post, %struct.tree_node** %post_p               ; <%struct.tree_node**> [#uses=7]
399         br i1 false, label %bb277, label %bb191
400
401 bb191:          ; preds = %entry
402         ret i32 0
403
404 bb277:          ; preds = %entry
405         %tmp283 = call i32 null( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0 )           ; <i32> [#uses=1]
406         switch i32 %tmp283, label %bb7478 [
407                  i32 0, label %cond_next289
408                  i32 -1, label %cond_next298
409         ]
410
411 cond_next289:           ; preds = %bb277
412         ret i32 0
413
414 cond_next298:           ; preds = %bb277
415         switch i32 0, label %bb7444 [
416                  i32 24, label %bb7463
417                  i32 25, label %bb7463
418                  i32 26, label %bb7463
419                  i32 27, label %bb7463
420                  i32 28, label %bb7463
421                  i32 33, label %bb4503
422                  i32 39, label %bb397
423                  i32 40, label %bb5650
424                  i32 41, label %bb4339
425                  i32 42, label %bb4350
426                  i32 43, label %bb4350
427                  i32 44, label %bb319
428                  i32 45, label %bb397
429                  i32 46, label %bb6124
430                  i32 47, label %bb7463
431                  i32 49, label %bb5524
432                  i32 50, label %bb1283
433                  i32 51, label %bb1289
434                  i32 52, label %bb1289
435                  i32 53, label %bb5969
436                  i32 54, label %bb408
437                  i32 56, label %bb5079
438                  i32 57, label %bb428
439                  i32 59, label %bb5965
440                  i32 74, label %bb4275
441                  i32 75, label %bb4275
442                  i32 76, label %bb4275
443                  i32 77, label %bb4275
444                  i32 91, label %bb1296
445                  i32 92, label %bb1296
446                  i32 96, label %bb1322
447                  i32 112, label %bb2548
448                  i32 113, label %bb2548
449                  i32 115, label %bb397
450                  i32 116, label %bb5645
451                  i32 117, label %bb1504
452                  i32 121, label %bb397
453                  i32 122, label %bb397
454                  i32 123, label %bb313
455                  i32 124, label %bb313
456                  i32 125, label %bb313
457                  i32 126, label %bb313
458                  i32 127, label %bb2141
459                  i32 128, label %cond_next5873
460                  i32 129, label %cond_next5873
461                  i32 130, label %bb4536
462                  i32 131, label %bb5300
463                  i32 132, label %bb5170
464                  i32 133, label %bb5519
465                  i32 134, label %bb5091
466                  i32 135, label %bb5083
467                  i32 136, label %bb5087
468                  i32 137, label %bb5382
469                  i32 139, label %bb7463
470                  i32 140, label %bb7463
471                  i32 142, label %bb5974
472                  i32 143, label %bb6049
473                  i32 147, label %bb6296
474                  i32 151, label %cond_next6474
475         ]
476
477 bb313:          ; preds = %cond_next298, %cond_next298, %cond_next298, %cond_next298
478         ret i32 0
479
480 bb319:          ; preds = %cond_next298
481         ret i32 0
482
483 bb397:          ; preds = %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298
484         ret i32 0
485
486 bb408:          ; preds = %cond_next298
487         %tmp413 = call fastcc i32 @gimplify_cond_expr( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, %struct.tree_node* null, i32 %fallback )             ; <i32> [#uses=0]
488         ret i32 0
489
490 bb428:          ; preds = %cond_next298
491         ret i32 0
492
493 bb1283:         ; preds = %cond_next298
494         ret i32 0
495
496 bb1289:         ; preds = %cond_next298, %cond_next298
497         ret i32 0
498
499 bb1296:         ; preds = %cond_next298, %cond_next298
500         ret i32 0
501
502 bb1322:         ; preds = %cond_next298
503         ret i32 0
504
505 bb1504:         ; preds = %cond_next298
506         ret i32 0
507
508 bb2141:         ; preds = %cond_next298
509         ret i32 0
510
511 bb2548:         ; preds = %cond_next298, %cond_next298
512         %tmp2554 = load %struct.tree_node** %expr_p             ; <%struct.tree_node*> [#uses=2]
513         %tmp2562 = and i32 0, 255               ; <i32> [#uses=1]
514         %tmp2569 = add i8 0, -4         ; <i8> [#uses=1]
515         icmp ugt i8 %tmp2569, 5         ; <i1>:0 [#uses=2]
516         %tmp2587 = load i8* null                ; <i8> [#uses=1]
517         icmp eq i8 %tmp2587, 0          ; <i1>:1 [#uses=2]
518         %tmp2607 = load %struct.tree_node** null                ; <%struct.tree_node*> [#uses=2]
519         br i1 false, label %bb2754, label %cond_next2617
520
521 cond_next2617:          ; preds = %bb2548
522         ret i32 0
523
524 bb2754:         ; preds = %bb2548
525         br i1 %0, label %cond_true2780, label %cond_next2783
526
527 cond_true2780:          ; preds = %bb2754
528         call void @tree_class_check_failed( %struct.tree_node* %tmp2554, i32 9, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) )
529         unreachable
530
531 cond_next2783:          ; preds = %bb2754
532         %tmp2825 = and i32 0, 255               ; <i32> [#uses=1]
533         %tmp2829 = load i32* null               ; <i32> [#uses=1]
534         %tmp28292830 = trunc i32 %tmp2829 to i8         ; <i8> [#uses=1]
535         %tmp2832 = add i8 %tmp28292830, -4              ; <i8> [#uses=1]
536         icmp ugt i8 %tmp2832, 5         ; <i1>:2 [#uses=1]
537         icmp eq i8 0, 0         ; <i1>:3 [#uses=1]
538         %tmp28652866 = bitcast %struct.tree_node* %tmp2607 to %struct.tree_exp*         ; <%struct.tree_exp*> [#uses=1]
539         %tmp2868 = getelementptr %struct.tree_exp* %tmp28652866, i32 0, i32 4, i32 0            ; <%struct.tree_node**> [#uses=1]
540         %tmp2870 = load %struct.tree_node** %tmp2868            ; <%struct.tree_node*> [#uses=1]
541         br i1 %1, label %cond_true2915, label %cond_next2927
542
543 cond_true2915:          ; preds = %cond_next2783
544         unreachable
545
546 cond_next2927:          ; preds = %cond_next2783
547         %tmp2938 = load %struct.tree_node** null                ; <%struct.tree_node*> [#uses=1]
548         %tmp2944 = load i32* null               ; <i32> [#uses=1]
549         %tmp2946 = and i32 %tmp2944, 255                ; <i32> [#uses=1]
550         %tmp2949 = getelementptr [0 x i32]* @tree_code_type, i32 0, i32 %tmp2946                ; <i32*> [#uses=1]
551         %tmp2950 = load i32* %tmp2949           ; <i32> [#uses=1]
552         icmp eq i32 %tmp2950, 2         ; <i1>:4 [#uses=1]
553         br i1 %4, label %cond_next2954, label %cond_true2951
554
555 cond_true2951:          ; preds = %cond_next2927
556         call void @tree_class_check_failed( %struct.tree_node* %tmp2938, i32 2, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) )
557         unreachable
558
559 cond_next2954:          ; preds = %cond_next2927
560         br i1 %0, label %cond_true2991, label %cond_next2994
561
562 cond_true2991:          ; preds = %cond_next2954
563         unreachable
564
565 cond_next2994:          ; preds = %cond_next2954
566         br i1 %1, label %cond_true3009, label %cond_next3021
567
568 cond_true3009:          ; preds = %cond_next2994
569         call void @tree_operand_check_failed( i32 0, i32 %tmp2562, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) )
570         unreachable
571
572 cond_next3021:          ; preds = %cond_next2994
573         br i1 %2, label %cond_true3044, label %cond_next3047
574
575 cond_true3044:          ; preds = %cond_next3021
576         call void @tree_class_check_failed( %struct.tree_node* %tmp2607, i32 9, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) )
577         unreachable
578
579 cond_next3047:          ; preds = %cond_next3021
580         br i1 %3, label %cond_true3062, label %cond_next3074
581
582 cond_true3062:          ; preds = %cond_next3047
583         call void @tree_operand_check_failed( i32 0, i32 %tmp2825, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 1415, i8* getelementptr ([20 x i8]* @__FUNCTION__.22136, i32 0, i32 0) )
584         unreachable
585
586 cond_next3074:          ; preds = %cond_next3047
587         %tmp3084 = getelementptr %struct.tree_node* %tmp2870, i32 0, i32 0, i32 0, i32 1                ; <%struct.tree_node**> [#uses=1]
588         %tmp3085 = load %struct.tree_node** %tmp3084            ; <%struct.tree_node*> [#uses=1]
589         %tmp31043105 = bitcast %struct.tree_node* %tmp3085 to %struct.tree_type*                ; <%struct.tree_type*> [#uses=1]
590         %tmp3106 = getelementptr %struct.tree_type* %tmp31043105, i32 0, i32 6          ; <i16*> [#uses=1]
591         %tmp31063107 = bitcast i16* %tmp3106 to i32*            ; <i32*> [#uses=1]
592         %tmp3108 = load i32* %tmp31063107               ; <i32> [#uses=1]
593         xor i32 %tmp3108, 0             ; <i32>:5 [#uses=1]
594         %tmp81008368 = and i32 %5, 65024                ; <i32> [#uses=1]
595         icmp eq i32 %tmp81008368, 0             ; <i1>:6 [#uses=1]
596         br i1 %6, label %cond_next3113, label %bb3351
597
598 cond_next3113:          ; preds = %cond_next3074
599         ret i32 0
600
601 bb3351:         ; preds = %cond_next3074
602         %tmp3354 = call i8 @tree_ssa_useless_type_conversion( %struct.tree_node* %tmp2554 ) zext                ; <i8> [#uses=1]
603         icmp eq i8 %tmp3354, 0          ; <i1>:7 [#uses=1]
604         %tmp3424 = load i32* null               ; <i32> [#uses=1]
605         br i1 %7, label %cond_next3417, label %cond_true3356
606
607 cond_true3356:          ; preds = %bb3351
608         ret i32 0
609
610 cond_next3417:          ; preds = %bb3351
611         br i1 false, label %cond_true3429, label %cond_next4266
612
613 cond_true3429:          ; preds = %cond_next3417
614         %tmp3443 = and i32 %tmp3424, 255                ; <i32> [#uses=0]
615         ret i32 0
616
617 cond_next4266:          ; preds = %cond_next3417
618         %tmp4268 = load %struct.tree_node** %expr_p             ; <%struct.tree_node*> [#uses=1]
619         icmp eq %struct.tree_node* %tmp4268, null               ; <i1>:8 [#uses=1]
620         br i1 %8, label %bb4275, label %bb7463
621
622 bb4275:         ; preds = %cond_next4266, %cond_next298, %cond_next298, %cond_next298, %cond_next298
623         %tmp4289 = and i32 0, 255               ; <i32> [#uses=2]
624         %tmp4292 = getelementptr [0 x i32]* @tree_code_type, i32 0, i32 %tmp4289                ; <i32*> [#uses=1]
625         %tmp4293 = load i32* %tmp4292           ; <i32> [#uses=1]
626         %tmp42934294 = trunc i32 %tmp4293 to i8         ; <i8> [#uses=1]
627         %tmp4296 = add i8 %tmp42934294, -4              ; <i8> [#uses=1]
628         icmp ugt i8 %tmp4296, 5         ; <i1>:9 [#uses=1]
629         br i1 %9, label %cond_true4297, label %cond_next4300
630
631 cond_true4297:          ; preds = %bb4275
632         unreachable
633
634 cond_next4300:          ; preds = %bb4275
635         %tmp4314 = load i8* null                ; <i8> [#uses=1]
636         icmp eq i8 %tmp4314, 0          ; <i1>:10 [#uses=1]
637         br i1 %10, label %cond_true4315, label %cond_next4327
638
639 cond_true4315:          ; preds = %cond_next4300
640         call void @tree_operand_check_failed( i32 0, i32 %tmp4289, i8* getelementptr ([42 x i8]* @str, i32 0, i32 0), i32 3997, i8* getelementptr ([14 x i8]* @__FUNCTION__.26156, i32 0, i32 0) )
641         unreachable
642
643 cond_next4327:          ; preds = %cond_next4300
644         %tmp4336 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zext * @is_gimple_val, i32 1 )             ; <i32> [#uses=0]
645         ret i32 0
646
647 bb4339:         ; preds = %cond_next298
648         ret i32 0
649
650 bb4350:         ; preds = %cond_next298, %cond_next298
651         ret i32 0
652
653 bb4503:         ; preds = %cond_next298
654         ret i32 0
655
656 bb4536:         ; preds = %cond_next298
657         ret i32 0
658
659 bb5079:         ; preds = %cond_next298
660         ret i32 0
661
662 bb5083:         ; preds = %cond_next298
663         ret i32 0
664
665 bb5087:         ; preds = %cond_next298
666         ret i32 0
667
668 bb5091:         ; preds = %cond_next298
669         ret i32 0
670
671 bb5170:         ; preds = %cond_next298
672         ret i32 0
673
674 bb5300:         ; preds = %cond_next298
675         ret i32 0
676
677 bb5382:         ; preds = %cond_next298
678         ret i32 0
679
680 bb5519:         ; preds = %cond_next298
681         ret i32 0
682
683 bb5524:         ; preds = %cond_next298
684         ret i32 0
685
686 bb5645:         ; preds = %cond_next298
687         ret i32 0
688
689 bb5650:         ; preds = %cond_next298
690         ret i32 0
691
692 cond_next5873:          ; preds = %cond_next298, %cond_next298
693         ret i32 0
694
695 bb5965:         ; preds = %cond_next298
696         %tmp5968 = call fastcc i32 @gimplify_cleanup_point_expr( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0 )               ; <i32> [#uses=0]
697         ret i32 0
698
699 bb5969:         ; preds = %cond_next298
700         %tmp5973 = call fastcc i32 @gimplify_target_expr( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0 )          ; <i32> [#uses=0]
701         ret i32 0
702
703 bb5974:         ; preds = %cond_next298
704         ret i32 0
705
706 bb6049:         ; preds = %cond_next298
707         ret i32 0
708
709 bb6124:         ; preds = %cond_next298
710         ret i32 0
711
712 bb6296:         ; preds = %cond_next298
713         ret i32 0
714
715 cond_next6474:          ; preds = %cond_next298
716         icmp eq %struct.tree_node** %internal_post, %post_p_addr.0              ; <i1>:11 [#uses=1]
717         %iftmp.381.0 = select i1 %11, %struct.tree_node** null, %struct.tree_node** %post_p_addr.0              ; <%struct.tree_node**> [#uses=1]
718         %tmp6490 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %iftmp.381.0, i8 (%struct.tree_node*) zext * %gimple_test_f, i32 %fallback )               ; <i32> [#uses=0]
719         %tmp6551 = call i32 @gimplify_expr( %struct.tree_node** null, %struct.tree_node** %pre_p_addr.0, %struct.tree_node** %post_p_addr.0, i8 (%struct.tree_node*) zext * @is_gimple_val, i32 1 )             ; <i32> [#uses=0]
720         ret i32 0
721
722 bb7444:         ; preds = %cond_next298
723         ret i32 0
724
725 bb7463:         ; preds = %cond_next4266, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298
726         ret i32 0
727
728 bb7478:         ; preds = %bb277
729         ret i32 0
730 }
731
732 declare i8 @is_gimple_formal_tmp_rhs(%struct.tree_node*) zext 
733
734 declare void @gimplify_and_add(%struct.tree_node*, %struct.tree_node**)
735
736 declare %struct.tree_node* @get_initialized_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**)
737
738 declare %struct.tree_node* @get_formal_tmp_var(%struct.tree_node*, %struct.tree_node**)
739
740 declare fastcc void @gimplify_init_ctor_preeval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.gimplify_init_ctor_preeval_data*)
741
742 declare i8 @type_contains_placeholder_p(%struct.tree_node*) zext 
743
744 declare i8 @is_gimple_mem_rhs(%struct.tree_node*) zext 
745
746 declare fastcc i32 @gimplify_modify_expr_rhs(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zext )
747
748 declare %struct.tree_node* @fold_indirect_ref(%struct.tree_node*)
749
750 declare fastcc i32 @gimplify_compound_expr(%struct.tree_node**, %struct.tree_node**, i8 zext )
751
752 declare i8 @is_gimple_lvalue(%struct.tree_node*) zext 
753
754 declare void @categorize_ctor_elements(%struct.tree_node*, i64*, i64*, i64*, i8*)
755
756 declare void @lhd_set_decl_assembler_name(%struct.tree_node*)
757
758 declare i64 @int_size_in_bytes(%struct.tree_node*)
759
760 declare i32 @can_move_by_pieces(i64, i32)
761
762 declare i64 @count_type_elements(%struct.tree_node*)
763
764 declare void @gimplify_stmt(%struct.tree_node**)
765
766 declare %struct.tree_node* @get_base_address(%struct.tree_node*)
767
768 declare fastcc void @gimplify_init_ctor_eval(%struct.tree_node*, %struct.tree_node*, %struct.tree_node**, i8 zext )
769
770 declare %struct.tree_node* @build_complex(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
771
772 declare i8 (%struct.tree_node*) zext * @rhs_predicate_for(%struct.tree_node*)
773
774 declare %struct.tree_node* @build_vector(%struct.tree_node*, %struct.tree_node*)
775
776 declare i8 @is_gimple_val(%struct.tree_node*) zext 
777
778 declare i8 @is_gimple_reg_type(%struct.tree_node*) zext 
779
780 declare fastcc i32 @gimplify_cond_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node*, i32)
781
782 declare fastcc i32 @gimplify_modify_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zext )
783
784 declare %struct.tree_node* @tree_cons_stat(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
785
786 declare %struct.tree_node* @build_fold_addr_expr(%struct.tree_node*)
787
788 declare %struct.tree_node* @build_function_call_expr(%struct.tree_node*, %struct.tree_node*)
789
790 declare i8 @is_gimple_addressable(%struct.tree_node*) zext 
791
792 declare i8 @is_gimple_reg(%struct.tree_node*) zext 
793
794 declare %struct.tree_node* @make_ssa_name(%struct.tree_node*, %struct.tree_node*)
795
796 declare i8 @tree_ssa_useless_type_conversion(%struct.tree_node*) zext 
797
798 declare fastcc i32 @gimplify_self_mod_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zext )
799
800 declare fastcc i32 @gimplify_compound_lval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i32)
801
802 declare %struct.tree_node* @get_callee_fndecl(%struct.tree_node*)
803
804 declare %struct.tree_node* @fold_builtin(%struct.tree_node*, i8 zext )
805
806 declare void @error(i8*, ...)
807
808 declare %struct.tree_node* @build_empty_stmt()
809
810 declare i8 @fold_builtin_next_arg(%struct.tree_node*) zext 
811
812 declare fastcc i32 @gimplify_arg(%struct.tree_node**, %struct.tree_node**)
813
814 declare i8 @is_gimple_call_addr(%struct.tree_node*) zext 
815
816 declare i32 @call_expr_flags(%struct.tree_node*)
817
818 declare void @recalculate_side_effects(%struct.tree_node*)
819
820 declare %struct.tree_node* @fold_convert(%struct.tree_node*, %struct.tree_node*)
821
822 declare void @recompute_tree_invarant_for_addr_expr(%struct.tree_node*)
823
824 declare i32 @gimplify_va_arg_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
825
826 declare %struct.tree_node* @size_int_kind(i64, i32)
827
828 declare %struct.tree_node* @size_binop(i32, %struct.tree_node*, %struct.tree_node*)
829
830 declare %struct.tree_node* @build4_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
831
832 declare void @gimplify_type_sizes(%struct.tree_node*, %struct.tree_node**)
833
834 declare void @gimplify_one_sizepos(%struct.tree_node**, %struct.tree_node**)
835
836 declare %struct.tree_node* @build_pointer_type(%struct.tree_node*)
837
838 declare %struct.tree_node* @build_fold_indirect_ref(%struct.tree_node*)
839
840 declare fastcc i32 @gimplify_bind_expr(%struct.tree_node**, %struct.tree_node*, %struct.tree_node**)
841
842 declare fastcc void @gimplify_loop_expr(%struct.tree_node**, %struct.tree_node**)
843
844 declare fastcc i32 @gimplify_switch_expr(%struct.tree_node**, %struct.tree_node**)
845
846 declare %struct.tree_node* @decl_function_context(%struct.tree_node*)
847
848 declare %struct.varray_head_tag* @varray_grow(%struct.varray_head_tag*, i32)
849
850 declare fastcc void @gimplify_return_expr(%struct.tree_node*, %struct.tree_node**)
851
852 declare fastcc i32 @gimplify_save_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
853
854 declare fastcc i32 @gimplify_asm_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
855
856 declare void @gimplify_to_stmt_list(%struct.tree_node**)
857
858 declare fastcc i32 @gimplify_cleanup_point_expr(%struct.tree_node**, %struct.tree_node**)
859
860 declare fastcc i32 @gimplify_target_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
861
862 declare void @tsi_delink(%struct.tree_stmt_iterator*)
863
864 declare void @tsi_link_before(%struct.tree_stmt_iterator*, %struct.tree_node*, i32)
865
866 declare i8 @is_gimple_stmt(%struct.tree_node*) zext 
867
868 declare void @print_generic_expr(%struct.FILE*, %struct.tree_node*, i32)
869
870 declare void @debug_tree(%struct.tree_node*)
871
872 declare void @internal_error(i8*, ...)
873
874 declare %struct.tree_node* @force_gimple_operand(%struct.tree_node*, %struct.tree_node**, i8 zext , %struct.tree_node*)
875
876 declare i8 @is_gimple_reg_rhs(%struct.tree_node*) zext 
877
878 declare void @add_referenced_tmp_var(%struct.tree_node*)
879
880 declare i8 @contains_placeholder_p(%struct.tree_node*) zext 
881
882 declare %struct.varray_head_tag* @varray_init(i32, i32, i8*)
883
884 declare i32 @handled_component_p(%struct.tree_node*)
885
886 declare void @varray_check_failed(%struct.varray_head_tag*, i32, i8*, i32, i8*)
887
888 declare %struct.tree_node* @array_ref_low_bound(%struct.tree_node*)
889
890 declare i8 @is_gimple_min_invariant(%struct.tree_node*) zext 
891
892 declare i8 @is_gimple_formal_tmp_reg(%struct.tree_node*) zext 
893
894 declare %struct.tree_node* @array_ref_element_size(%struct.tree_node*)
895
896 declare %struct.tree_node* @component_ref_field_offset(%struct.tree_node*)
897
898 declare i8 @is_gimple_min_lval(%struct.tree_node*) zext 
899
900 declare void @varray_underflow(%struct.varray_head_tag*, i8*, i32, i8*)
901
902 declare i32 @list_length(%struct.tree_node*)
903
904 declare i8 @parse_output_constraint(i8**, i32, i32, i32, i8*, i8*, i8*) zext 
905
906 declare i8* @xstrdup(i8*)
907
908 declare %struct.tree_node* @build_string(i32, i8*)
909
910 declare i8* @strchr(i8*, i32)
911
912 declare %struct.tree_node* @build_tree_list_stat(%struct.tree_node*, %struct.tree_node*)
913
914 declare %struct.tree_node* @chainon(%struct.tree_node*, %struct.tree_node*)
915
916 declare i8 @parse_input_constraint(i8**, i32, i32, i32, i32, i8**, i8*, i8*) zext 
917
918 declare i8 @is_gimple_asm_val(%struct.tree_node*) zext 
919
920 declare void @gimplify_body(%struct.tree_node**, %struct.tree_node*, i8 zext )
921
922 declare void @timevar_push_1(i32)
923
924 declare %struct.tree_node* @gimplify_parameters()
925
926 declare %struct.tree_node* @expr_only(%struct.tree_node*)
927
928 declare void @timevar_pop_1(i32)
929
930 declare void @gimplify_function_tree(%struct.tree_node*)
931
932 declare void @allocate_struct_function(%struct.tree_node*)
933
934 declare %struct.tree_node* @make_tree_vec_stat(i32)
935
936 declare %struct.tree_node* @tsi_split_statement_list_after(%struct.tree_stmt_iterator*)
937
938 declare i8 @is_gimple_condexpr(%struct.tree_node*) zext 
939
940 declare %struct.tree_node* @invert_truthvalue(%struct.tree_node*)
941
942 declare i8 @initializer_zerop(%struct.tree_node*) zext 
943
944 declare i32 @simple_cst_equal(%struct.tree_node*, %struct.tree_node*)
945
946 declare i32 @aggregate_value_p(%struct.tree_node*, %struct.tree_node*)
947
948 declare i32 @fwrite(i8*, i32, i32, %struct.FILE*)