Handle logical shift right (at least I hope so :) )
[llvm/msp430.git] / test / CodeGen / ARM / 2007-03-26-RegScavengerAssert.ll
blob6d3f6404af840e64e8754c5e6acc144ec2239538
1 ; RUN: llvm-as < %s | llc -march=arm
2 ; PR1266
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) zeroext *, i8 (i8**) zeroext *, i8 () zeroext *, 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*) zeroext *, %struct.tree_node* (%struct.tree_node*)*, void (%struct.tree_node*)*, void (%struct.tree_node*)*, i8 () zeroext *, 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*) zeroext *, void ()*, void (%struct.tree_node*)*, i8 (%struct.tree_node*) zeroext *, 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*) zeroext * }
54         %struct.lang_hooks_for_tree_dump = type { i8 (i8*, %struct.tree_node*) zeroext *, 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*) zeroext *, 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*) zeroext *, 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]
229 declare void @push_gimplify_context()
231 declare i32 @gimple_tree_hash(i8*)
233 declare i32 @iterative_hash_expr(%struct.tree_node*, i32)
235 declare i32 @gimple_tree_eq(i8*, i8*)
237 declare i32 @operand_equal_p(%struct.tree_node*, %struct.tree_node*, i32)
239 declare void @fancy_abort(i8*, i32, i8*)
241 declare i8* @xcalloc(i32, i32)
243 declare %struct.htab* @htab_create(i32, i32 (i8*)*, i32 (i8*, i8*)*, void (i8*)*)
245 declare void @free(i8*)
247 declare void @gimple_push_bind_expr(%struct.tree_node*)
249 declare void @gimple_pop_bind_expr()
251 declare %struct.tree_node* @gimple_current_bind_expr()
253 declare fastcc void @gimple_push_condition()
255 declare %struct.tree_node* @create_artificial_label()
257 declare %struct.tree_node* @build_decl_stat(i32, %struct.tree_node*, %struct.tree_node*)
259 declare void @tree_class_check_failed(%struct.tree_node*, i32, i8*, i32, i8*)
261 declare %struct.tree_node* @create_tmp_var_name(i8*)
263 declare i32 @strlen(i8*)
265 declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
267 declare i32 @sprintf(i8*, i8*, ...)
269 declare %struct.tree_node* @get_identifier(i8*)
271 declare %struct.tree_node* @create_tmp_var_raw(%struct.tree_node*, i8*)
273 declare %struct.tree_node* @build_qualified_type(%struct.tree_node*, i32)
275 declare i8* @get_name(%struct.tree_node*)
277 declare void @tree_operand_check_failed(i32, i32, i8*, i32, i8*)
279 declare void @tree_check_failed(%struct.tree_node*, i8*, i32, i8*, ...)
281 declare void @declare_tmp_vars(%struct.tree_node*, %struct.tree_node*)
283 declare %struct.tree_node* @nreverse(%struct.tree_node*)
285 declare void @gimple_add_tmp_var(%struct.tree_node*)
287 declare void @record_vars(%struct.tree_node*)
289 declare %struct.tree_node* @create_tmp_var(%struct.tree_node*, i8*)
291 declare void @pop_gimplify_context(%struct.tree_node*)
293 declare void @htab_delete(%struct.htab*)
295 declare fastcc void @annotate_one_with_locus(%struct.tree_node*, i32, i32)
297 declare void @annotate_with_locus(%struct.tree_node*, i32, i32)
299 declare %struct.tree_node* @mostly_copy_tree_r(%struct.tree_node**, i32*, i8*)
301 declare %struct.tree_node* @copy_tree_r(%struct.tree_node**, i32*, i8*)
303 declare %struct.tree_node* @mark_decls_volatile_r(%struct.tree_node**, i32*, i8*)
305 declare %struct.tree_node* @copy_if_shared_r(%struct.tree_node**, i32*, i8*)
307 declare %struct.tree_node* @walk_tree(%struct.tree_node**, %struct.tree_node* (%struct.tree_node**, i32*, i8*)*, i8*, %struct.pointer_set_t*)
309 declare %struct.tree_node* @unmark_visited_r(%struct.tree_node**, i32*, i8*)
311 declare fastcc void @unshare_body(%struct.tree_node**, %struct.tree_node*)
313 declare %struct.cgraph_node* @cgraph_node(%struct.tree_node*)
315 declare fastcc void @unvisit_body(%struct.tree_node**, %struct.tree_node*)
317 declare void @unshare_all_trees(%struct.tree_node*)
319 declare %struct.tree_node* @unshare_expr(%struct.tree_node*)
321 declare %struct.tree_node* @build_and_jump(%struct.tree_node**)
323 declare %struct.tree_node* @build1_stat(i32, %struct.tree_node*, %struct.tree_node*)
325 declare i32 @compare_case_labels(i8*, i8*)
327 declare i32 @tree_int_cst_compare(%struct.tree_node*, %struct.tree_node*)
329 declare void @sort_case_labels(%struct.tree_node*)
331 declare void @tree_vec_elt_check_failed(i32, i32, i8*, i32, i8*)
333 declare void @qsort(i8*, i32, i32, i32 (i8*, i8*)*)
335 declare %struct.tree_node* @force_labels_r(%struct.tree_node**, i32*, i8*)
337 declare fastcc void @canonicalize_component_ref(%struct.tree_node**)
339 declare %struct.tree_node* @get_unwidened(%struct.tree_node*, %struct.tree_node*)
341 declare fastcc void @maybe_with_size_expr(%struct.tree_node**)
343 declare %struct.tree_node* @substitute_placeholder_in_expr(%struct.tree_node*, %struct.tree_node*)
345 declare %struct.tree_node* @build2_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
347 declare fastcc %struct.tree_node* @gimple_boolify(%struct.tree_node*)
349 declare %struct.tree_node* @convert(%struct.tree_node*, %struct.tree_node*)
351 declare %struct.tree_node* @gimplify_init_ctor_preeval_1(%struct.tree_node**, i32*, i8*)
353 declare i64 @get_alias_set(%struct.tree_node*)
355 declare i32 @alias_sets_conflict_p(i64, i64)
357 declare fastcc i8 @cpt_same_type(%struct.tree_node*, %struct.tree_node*) zeroext
359 declare %struct.tree_node* @check_pointer_types_r(%struct.tree_node**, i32*, i8*)
361 declare %struct.tree_node* @voidify_wrapper_expr(%struct.tree_node*, %struct.tree_node*)
363 declare i32 @integer_zerop(%struct.tree_node*)
365 declare fastcc void @append_to_statement_list_1(%struct.tree_node*, %struct.tree_node**)
367 declare %struct.tree_node* @alloc_stmt_list()
369 declare void @tsi_link_after(%struct.tree_stmt_iterator*, %struct.tree_node*, i32)
371 declare void @append_to_statement_list_force(%struct.tree_node*, %struct.tree_node**)
373 declare void @append_to_statement_list(%struct.tree_node*, %struct.tree_node**)
375 declare fastcc %struct.tree_node* @shortcut_cond_r(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**)
377 declare %struct.tree_node* @build3_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
379 declare fastcc %struct.tree_node* @shortcut_cond_expr(%struct.tree_node*)
381 declare %struct.tree_node* @expr_last(%struct.tree_node*)
383 declare i8 @block_may_fallthru(%struct.tree_node*) zeroext 
385 declare fastcc void @gimple_pop_condition(%struct.tree_node**)
387 declare %struct.tree_node* @gimple_build_eh_filter(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
389 declare void @annotate_all_with_locus(%struct.tree_node**, i32, i32)
391 declare fastcc %struct.tree_node* @internal_get_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
393 define i32 @gimplify_expr(%struct.tree_node** %expr_p, %struct.tree_node** %pre_p, %struct.tree_node** %post_p, i8 (%struct.tree_node*) zeroext * %gimple_test_f, i32 %fallback) {
394 entry:
395         %internal_post = alloca %struct.tree_node*, align 4             ; <%struct.tree_node**> [#uses=2]
396         %pre_p_addr.0 = select i1 false, %struct.tree_node** null, %struct.tree_node** %pre_p           ; <%struct.tree_node**> [#uses=7]
397         %post_p_addr.0 = select i1 false, %struct.tree_node** %internal_post, %struct.tree_node** %post_p               ; <%struct.tree_node**> [#uses=7]
398         br i1 false, label %bb277, label %bb191
400 bb191:          ; preds = %entry
401         ret i32 0
403 bb277:          ; preds = %entry
404         %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]
405         switch i32 %tmp283, label %bb7478 [
406                  i32 0, label %cond_next289
407                  i32 -1, label %cond_next298
408         ]
410 cond_next289:           ; preds = %bb277
411         ret i32 0
413 cond_next298:           ; preds = %bb277
414         switch i32 0, label %bb7444 [
415                  i32 24, label %bb7463
416                  i32 25, label %bb7463
417                  i32 26, label %bb7463
418                  i32 27, label %bb7463
419                  i32 28, label %bb7463
420                  i32 33, label %bb4503
421                  i32 39, label %bb397
422                  i32 40, label %bb5650
423                  i32 41, label %bb4339
424                  i32 42, label %bb4350
425                  i32 43, label %bb4350
426                  i32 44, label %bb319
427                  i32 45, label %bb397
428                  i32 46, label %bb6124
429                  i32 47, label %bb7463
430                  i32 49, label %bb5524
431                  i32 50, label %bb1283
432                  i32 51, label %bb1289
433                  i32 52, label %bb1289
434                  i32 53, label %bb5969
435                  i32 54, label %bb408
436                  i32 56, label %bb5079
437                  i32 57, label %bb428
438                  i32 59, label %bb5965
439                  i32 74, label %bb4275
440                  i32 75, label %bb4275
441                  i32 76, label %bb4275
442                  i32 77, label %bb4275
443                  i32 91, label %bb1296
444                  i32 92, label %bb1296
445                  i32 96, label %bb1322
446                  i32 112, label %bb2548
447                  i32 113, label %bb2548
448                  i32 115, label %bb397
449                  i32 116, label %bb5645
450                  i32 117, label %bb1504
451                  i32 121, label %bb397
452                  i32 122, label %bb397
453                  i32 123, label %bb313
454                  i32 124, label %bb313
455                  i32 125, label %bb313
456                  i32 126, label %bb313
457                  i32 127, label %bb2141
458                  i32 128, label %cond_next5873
459                  i32 129, label %cond_next5873
460                  i32 130, label %bb4536
461                  i32 131, label %bb5300
462                  i32 132, label %bb5170
463                  i32 133, label %bb5519
464                  i32 134, label %bb5091
465                  i32 135, label %bb5083
466                  i32 136, label %bb5087
467                  i32 137, label %bb5382
468                  i32 139, label %bb7463
469                  i32 140, label %bb7463
470                  i32 142, label %bb5974
471                  i32 143, label %bb6049
472                  i32 147, label %bb6296
473                  i32 151, label %cond_next6474
474         ]
476 bb313:          ; preds = %cond_next298, %cond_next298, %cond_next298, %cond_next298
477         ret i32 0
479 bb319:          ; preds = %cond_next298
480         ret i32 0
482 bb397:          ; preds = %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298
483         ret i32 0
485 bb408:          ; preds = %cond_next298
486         %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]
487         ret i32 0
489 bb428:          ; preds = %cond_next298
490         ret i32 0
492 bb1283:         ; preds = %cond_next298
493         ret i32 0
495 bb1289:         ; preds = %cond_next298, %cond_next298
496         ret i32 0
498 bb1296:         ; preds = %cond_next298, %cond_next298
499         ret i32 0
501 bb1322:         ; preds = %cond_next298
502         ret i32 0
504 bb1504:         ; preds = %cond_next298
505         ret i32 0
507 bb2141:         ; preds = %cond_next298
508         ret i32 0
510 bb2548:         ; preds = %cond_next298, %cond_next298
511         %tmp2554 = load %struct.tree_node** %expr_p             ; <%struct.tree_node*> [#uses=2]
512         %tmp2562 = and i32 0, 255               ; <i32> [#uses=1]
513         %tmp2569 = add i8 0, -4         ; <i8> [#uses=1]
514         icmp ugt i8 %tmp2569, 5         ; <i1>:0 [#uses=2]
515         %tmp2587 = load i8* null                ; <i8> [#uses=1]
516         icmp eq i8 %tmp2587, 0          ; <i1>:1 [#uses=2]
517         %tmp2607 = load %struct.tree_node** null                ; <%struct.tree_node*> [#uses=2]
518         br i1 false, label %bb2754, label %cond_next2617
520 cond_next2617:          ; preds = %bb2548
521         ret i32 0
523 bb2754:         ; preds = %bb2548
524         br i1 %0, label %cond_true2780, label %cond_next2783
526 cond_true2780:          ; preds = %bb2754
527         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) )
528         unreachable
530 cond_next2783:          ; preds = %bb2754
531         %tmp2825 = and i32 0, 255               ; <i32> [#uses=1]
532         %tmp2829 = load i32* null               ; <i32> [#uses=1]
533         %tmp28292830 = trunc i32 %tmp2829 to i8         ; <i8> [#uses=1]
534         %tmp2832 = add i8 %tmp28292830, -4              ; <i8> [#uses=1]
535         icmp ugt i8 %tmp2832, 5         ; <i1>:2 [#uses=1]
536         icmp eq i8 0, 0         ; <i1>:3 [#uses=1]
537         %tmp28652866 = bitcast %struct.tree_node* %tmp2607 to %struct.tree_exp*         ; <%struct.tree_exp*> [#uses=1]
538         %tmp2868 = getelementptr %struct.tree_exp* %tmp28652866, i32 0, i32 4, i32 0            ; <%struct.tree_node**> [#uses=1]
539         %tmp2870 = load %struct.tree_node** %tmp2868            ; <%struct.tree_node*> [#uses=1]
540         br i1 %1, label %cond_true2915, label %cond_next2927
542 cond_true2915:          ; preds = %cond_next2783
543         unreachable
545 cond_next2927:          ; preds = %cond_next2783
546         %tmp2938 = load %struct.tree_node** null                ; <%struct.tree_node*> [#uses=1]
547         %tmp2944 = load i32* null               ; <i32> [#uses=1]
548         %tmp2946 = and i32 %tmp2944, 255                ; <i32> [#uses=1]
549         %tmp2949 = getelementptr [0 x i32]* @tree_code_type, i32 0, i32 %tmp2946                ; <i32*> [#uses=1]
550         %tmp2950 = load i32* %tmp2949           ; <i32> [#uses=1]
551         icmp eq i32 %tmp2950, 2         ; <i1>:4 [#uses=1]
552         br i1 %4, label %cond_next2954, label %cond_true2951
554 cond_true2951:          ; preds = %cond_next2927
555         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) )
556         unreachable
558 cond_next2954:          ; preds = %cond_next2927
559         br i1 %0, label %cond_true2991, label %cond_next2994
561 cond_true2991:          ; preds = %cond_next2954
562         unreachable
564 cond_next2994:          ; preds = %cond_next2954
565         br i1 %1, label %cond_true3009, label %cond_next3021
567 cond_true3009:          ; preds = %cond_next2994
568         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) )
569         unreachable
571 cond_next3021:          ; preds = %cond_next2994
572         br i1 %2, label %cond_true3044, label %cond_next3047
574 cond_true3044:          ; preds = %cond_next3021
575         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) )
576         unreachable
578 cond_next3047:          ; preds = %cond_next3021
579         br i1 %3, label %cond_true3062, label %cond_next3074
581 cond_true3062:          ; preds = %cond_next3047
582         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) )
583         unreachable
585 cond_next3074:          ; preds = %cond_next3047
586         %tmp3084 = getelementptr %struct.tree_node* %tmp2870, i32 0, i32 0, i32 0, i32 1                ; <%struct.tree_node**> [#uses=1]
587         %tmp3085 = load %struct.tree_node** %tmp3084            ; <%struct.tree_node*> [#uses=1]
588         %tmp31043105 = bitcast %struct.tree_node* %tmp3085 to %struct.tree_type*                ; <%struct.tree_type*> [#uses=1]
589         %tmp3106 = getelementptr %struct.tree_type* %tmp31043105, i32 0, i32 6          ; <i16*> [#uses=1]
590         %tmp31063107 = bitcast i16* %tmp3106 to i32*            ; <i32*> [#uses=1]
591         %tmp3108 = load i32* %tmp31063107               ; <i32> [#uses=1]
592         xor i32 %tmp3108, 0             ; <i32>:5 [#uses=1]
593         %tmp81008368 = and i32 %5, 65024                ; <i32> [#uses=1]
594         icmp eq i32 %tmp81008368, 0             ; <i1>:6 [#uses=1]
595         br i1 %6, label %cond_next3113, label %bb3351
597 cond_next3113:          ; preds = %cond_next3074
598         ret i32 0
600 bb3351:         ; preds = %cond_next3074
601         %tmp3354 = call i8 @tree_ssa_useless_type_conversion( %struct.tree_node* %tmp2554 ) zeroext             ; <i8> [#uses=1]
602         icmp eq i8 %tmp3354, 0          ; <i1>:7 [#uses=1]
603         %tmp3424 = load i32* null               ; <i32> [#uses=1]
604         br i1 %7, label %cond_next3417, label %cond_true3356
606 cond_true3356:          ; preds = %bb3351
607         ret i32 0
609 cond_next3417:          ; preds = %bb3351
610         br i1 false, label %cond_true3429, label %cond_next4266
612 cond_true3429:          ; preds = %cond_next3417
613         %tmp3443 = and i32 %tmp3424, 255                ; <i32> [#uses=0]
614         ret i32 0
616 cond_next4266:          ; preds = %cond_next3417
617         %tmp4268 = load %struct.tree_node** %expr_p             ; <%struct.tree_node*> [#uses=1]
618         icmp eq %struct.tree_node* %tmp4268, null               ; <i1>:8 [#uses=1]
619         br i1 %8, label %bb4275, label %bb7463
621 bb4275:         ; preds = %cond_next4266, %cond_next298, %cond_next298, %cond_next298, %cond_next298
622         %tmp4289 = and i32 0, 255               ; <i32> [#uses=2]
623         %tmp4292 = getelementptr [0 x i32]* @tree_code_type, i32 0, i32 %tmp4289                ; <i32*> [#uses=1]
624         %tmp4293 = load i32* %tmp4292           ; <i32> [#uses=1]
625         %tmp42934294 = trunc i32 %tmp4293 to i8         ; <i8> [#uses=1]
626         %tmp4296 = add i8 %tmp42934294, -4              ; <i8> [#uses=1]
627         icmp ugt i8 %tmp4296, 5         ; <i1>:9 [#uses=1]
628         br i1 %9, label %cond_true4297, label %cond_next4300
630 cond_true4297:          ; preds = %bb4275
631         unreachable
633 cond_next4300:          ; preds = %bb4275
634         %tmp4314 = load i8* null                ; <i8> [#uses=1]
635         icmp eq i8 %tmp4314, 0          ; <i1>:10 [#uses=1]
636         br i1 %10, label %cond_true4315, label %cond_next4327
638 cond_true4315:          ; preds = %cond_next4300
639         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) )
640         unreachable
642 cond_next4327:          ; preds = %cond_next4300
643         %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*) zeroext * @is_gimple_val, i32 1 )          ; <i32> [#uses=0]
644         ret i32 0
646 bb4339:         ; preds = %cond_next298
647         ret i32 0
649 bb4350:         ; preds = %cond_next298, %cond_next298
650         ret i32 0
652 bb4503:         ; preds = %cond_next298
653         ret i32 0
655 bb4536:         ; preds = %cond_next298
656         ret i32 0
658 bb5079:         ; preds = %cond_next298
659         ret i32 0
661 bb5083:         ; preds = %cond_next298
662         ret i32 0
664 bb5087:         ; preds = %cond_next298
665         ret i32 0
667 bb5091:         ; preds = %cond_next298
668         ret i32 0
670 bb5170:         ; preds = %cond_next298
671         ret i32 0
673 bb5300:         ; preds = %cond_next298
674         ret i32 0
676 bb5382:         ; preds = %cond_next298
677         ret i32 0
679 bb5519:         ; preds = %cond_next298
680         ret i32 0
682 bb5524:         ; preds = %cond_next298
683         ret i32 0
685 bb5645:         ; preds = %cond_next298
686         ret i32 0
688 bb5650:         ; preds = %cond_next298
689         ret i32 0
691 cond_next5873:          ; preds = %cond_next298, %cond_next298
692         ret i32 0
694 bb5965:         ; preds = %cond_next298
695         %tmp5968 = call fastcc i32 @gimplify_cleanup_point_expr( %struct.tree_node** %expr_p, %struct.tree_node** %pre_p_addr.0 )               ; <i32> [#uses=0]
696         ret i32 0
698 bb5969:         ; preds = %cond_next298
699         %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]
700         ret i32 0
702 bb5974:         ; preds = %cond_next298
703         ret i32 0
705 bb6049:         ; preds = %cond_next298
706         ret i32 0
708 bb6124:         ; preds = %cond_next298
709         ret i32 0
711 bb6296:         ; preds = %cond_next298
712         ret i32 0
714 cond_next6474:          ; preds = %cond_next298
715         icmp eq %struct.tree_node** %internal_post, %post_p_addr.0              ; <i1>:11 [#uses=1]
716         %iftmp.381.0 = select i1 %11, %struct.tree_node** null, %struct.tree_node** %post_p_addr.0              ; <%struct.tree_node**> [#uses=1]
717         %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*) zeroext * %gimple_test_f, i32 %fallback )            ; <i32> [#uses=0]
718         %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*) zeroext * @is_gimple_val, i32 1 )          ; <i32> [#uses=0]
719         ret i32 0
721 bb7444:         ; preds = %cond_next298
722         ret i32 0
724 bb7463:         ; preds = %cond_next4266, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298, %cond_next298
725         ret i32 0
727 bb7478:         ; preds = %bb277
728         ret i32 0
731 declare i8 @is_gimple_formal_tmp_rhs(%struct.tree_node*) zeroext 
733 declare void @gimplify_and_add(%struct.tree_node*, %struct.tree_node**)
735 declare %struct.tree_node* @get_initialized_tmp_var(%struct.tree_node*, %struct.tree_node**, %struct.tree_node**)
737 declare %struct.tree_node* @get_formal_tmp_var(%struct.tree_node*, %struct.tree_node**)
739 declare fastcc void @gimplify_init_ctor_preeval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.gimplify_init_ctor_preeval_data*)
741 declare i8 @type_contains_placeholder_p(%struct.tree_node*) zeroext 
743 declare i8 @is_gimple_mem_rhs(%struct.tree_node*) zeroext 
745 declare fastcc i32 @gimplify_modify_expr_rhs(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
747 declare %struct.tree_node* @fold_indirect_ref(%struct.tree_node*)
749 declare fastcc i32 @gimplify_compound_expr(%struct.tree_node**, %struct.tree_node**, i8 zeroext )
751 declare i8 @is_gimple_lvalue(%struct.tree_node*) zeroext 
753 declare void @categorize_ctor_elements(%struct.tree_node*, i64*, i64*, i64*, i8*)
755 declare void @lhd_set_decl_assembler_name(%struct.tree_node*)
757 declare i64 @int_size_in_bytes(%struct.tree_node*)
759 declare i32 @can_move_by_pieces(i64, i32)
761 declare i64 @count_type_elements(%struct.tree_node*)
763 declare void @gimplify_stmt(%struct.tree_node**)
765 declare %struct.tree_node* @get_base_address(%struct.tree_node*)
767 declare fastcc void @gimplify_init_ctor_eval(%struct.tree_node*, %struct.tree_node*, %struct.tree_node**, i8 zeroext )
769 declare %struct.tree_node* @build_complex(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
771 declare i8 (%struct.tree_node*) zeroext * @rhs_predicate_for(%struct.tree_node*)
773 declare %struct.tree_node* @build_vector(%struct.tree_node*, %struct.tree_node*)
775 declare i8 @is_gimple_val(%struct.tree_node*) zeroext 
777 declare i8 @is_gimple_reg_type(%struct.tree_node*) zeroext 
779 declare fastcc i32 @gimplify_cond_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, %struct.tree_node*, i32)
781 declare fastcc i32 @gimplify_modify_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
783 declare %struct.tree_node* @tree_cons_stat(%struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
785 declare %struct.tree_node* @build_fold_addr_expr(%struct.tree_node*)
787 declare %struct.tree_node* @build_function_call_expr(%struct.tree_node*, %struct.tree_node*)
789 declare i8 @is_gimple_addressable(%struct.tree_node*) zeroext 
791 declare i8 @is_gimple_reg(%struct.tree_node*) zeroext 
793 declare %struct.tree_node* @make_ssa_name(%struct.tree_node*, %struct.tree_node*)
795 declare i8 @tree_ssa_useless_type_conversion(%struct.tree_node*) zeroext 
797 declare fastcc i32 @gimplify_self_mod_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i8 zeroext )
799 declare fastcc i32 @gimplify_compound_lval(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**, i32)
801 declare %struct.tree_node* @get_callee_fndecl(%struct.tree_node*)
803 declare %struct.tree_node* @fold_builtin(%struct.tree_node*, i8 zeroext )
805 declare void @error(i8*, ...)
807 declare %struct.tree_node* @build_empty_stmt()
809 declare i8 @fold_builtin_next_arg(%struct.tree_node*) zeroext 
811 declare fastcc i32 @gimplify_arg(%struct.tree_node**, %struct.tree_node**)
813 declare i8 @is_gimple_call_addr(%struct.tree_node*) zeroext 
815 declare i32 @call_expr_flags(%struct.tree_node*)
817 declare void @recalculate_side_effects(%struct.tree_node*)
819 declare %struct.tree_node* @fold_convert(%struct.tree_node*, %struct.tree_node*)
821 declare void @recompute_tree_invarant_for_addr_expr(%struct.tree_node*)
823 declare i32 @gimplify_va_arg_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
825 declare %struct.tree_node* @size_int_kind(i64, i32)
827 declare %struct.tree_node* @size_binop(i32, %struct.tree_node*, %struct.tree_node*)
829 declare %struct.tree_node* @build4_stat(i32, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*)
831 declare void @gimplify_type_sizes(%struct.tree_node*, %struct.tree_node**)
833 declare void @gimplify_one_sizepos(%struct.tree_node**, %struct.tree_node**)
835 declare %struct.tree_node* @build_pointer_type(%struct.tree_node*)
837 declare %struct.tree_node* @build_fold_indirect_ref(%struct.tree_node*)
839 declare fastcc i32 @gimplify_bind_expr(%struct.tree_node**, %struct.tree_node*, %struct.tree_node**)
841 declare fastcc void @gimplify_loop_expr(%struct.tree_node**, %struct.tree_node**)
843 declare fastcc i32 @gimplify_switch_expr(%struct.tree_node**, %struct.tree_node**)
845 declare %struct.tree_node* @decl_function_context(%struct.tree_node*)
847 declare %struct.varray_head_tag* @varray_grow(%struct.varray_head_tag*, i32)
849 declare fastcc void @gimplify_return_expr(%struct.tree_node*, %struct.tree_node**)
851 declare fastcc i32 @gimplify_save_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
853 declare fastcc i32 @gimplify_asm_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
855 declare void @gimplify_to_stmt_list(%struct.tree_node**)
857 declare fastcc i32 @gimplify_cleanup_point_expr(%struct.tree_node**, %struct.tree_node**)
859 declare fastcc i32 @gimplify_target_expr(%struct.tree_node**, %struct.tree_node**, %struct.tree_node**)
861 declare void @tsi_delink(%struct.tree_stmt_iterator*)
863 declare void @tsi_link_before(%struct.tree_stmt_iterator*, %struct.tree_node*, i32)
865 declare i8 @is_gimple_stmt(%struct.tree_node*) zeroext 
867 declare void @print_generic_expr(%struct.FILE*, %struct.tree_node*, i32)
869 declare void @debug_tree(%struct.tree_node*)
871 declare void @internal_error(i8*, ...)
873 declare %struct.tree_node* @force_gimple_operand(%struct.tree_node*, %struct.tree_node**, i8 zeroext , %struct.tree_node*)
875 declare i8 @is_gimple_reg_rhs(%struct.tree_node*) zeroext 
877 declare void @add_referenced_tmp_var(%struct.tree_node*)
879 declare i8 @contains_placeholder_p(%struct.tree_node*) zeroext 
881 declare %struct.varray_head_tag* @varray_init(i32, i32, i8*)
883 declare i32 @handled_component_p(%struct.tree_node*)
885 declare void @varray_check_failed(%struct.varray_head_tag*, i32, i8*, i32, i8*)
887 declare %struct.tree_node* @array_ref_low_bound(%struct.tree_node*)
889 declare i8 @is_gimple_min_invariant(%struct.tree_node*) zeroext 
891 declare i8 @is_gimple_formal_tmp_reg(%struct.tree_node*) zeroext 
893 declare %struct.tree_node* @array_ref_element_size(%struct.tree_node*)
895 declare %struct.tree_node* @component_ref_field_offset(%struct.tree_node*)
897 declare i8 @is_gimple_min_lval(%struct.tree_node*) zeroext 
899 declare void @varray_underflow(%struct.varray_head_tag*, i8*, i32, i8*)
901 declare i32 @list_length(%struct.tree_node*)
903 declare i8 @parse_output_constraint(i8**, i32, i32, i32, i8*, i8*, i8*) zeroext 
905 declare i8* @xstrdup(i8*)
907 declare %struct.tree_node* @build_string(i32, i8*)
909 declare i8* @strchr(i8*, i32)
911 declare %struct.tree_node* @build_tree_list_stat(%struct.tree_node*, %struct.tree_node*)
913 declare %struct.tree_node* @chainon(%struct.tree_node*, %struct.tree_node*)
915 declare i8 @parse_input_constraint(i8**, i32, i32, i32, i32, i8**, i8*, i8*) zeroext 
917 declare i8 @is_gimple_asm_val(%struct.tree_node*) zeroext 
919 declare void @gimplify_body(%struct.tree_node**, %struct.tree_node*, i8 zeroext )
921 declare void @timevar_push_1(i32)
923 declare %struct.tree_node* @gimplify_parameters()
925 declare %struct.tree_node* @expr_only(%struct.tree_node*)
927 declare void @timevar_pop_1(i32)
929 declare void @gimplify_function_tree(%struct.tree_node*)
931 declare void @allocate_struct_function(%struct.tree_node*)
933 declare %struct.tree_node* @make_tree_vec_stat(i32)
935 declare %struct.tree_node* @tsi_split_statement_list_after(%struct.tree_stmt_iterator*)
937 declare i8 @is_gimple_condexpr(%struct.tree_node*) zeroext 
939 declare %struct.tree_node* @invert_truthvalue(%struct.tree_node*)
941 declare i8 @initializer_zerop(%struct.tree_node*) zeroext 
943 declare i32 @simple_cst_equal(%struct.tree_node*, %struct.tree_node*)
945 declare i32 @aggregate_value_p(%struct.tree_node*, %struct.tree_node*)
947 declare i32 @fwrite(i8*, i32, i32, %struct.FILE*)