optabs.c (libfunc_decl_hash, [...]): Fix -Wcast-qual warnings.
[gcc.git] / gcc / java / ChangeLog.tree-ssa
1 2004-05-10 Andrew Haley <aph@redhat.com>
2
3 * java-gimplify.c (java_gimplify_expr): Copy the LHS of a binary
4 expression into a temporary variable.
5
6 (java_gimplify_new_array_init): Set the DECL_CONTEXT of array and
7 tmp to current_function_decl.
8
9 2004-04-13 Diego Novillo <dnovillo@redhat.com>
10
11 * expr.c (build_expr_wfl): Don't check type nodes for
12 side effects.
13
14 2004-04-12 Diego Novillo <dnovillo@redhat.com>
15
16 * decl.c (java_expand_stmt): Remove.
17 * lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Remove.
18
19 2004-02-24 Richard Henderson <rth@redhat.com>
20
21 * java-gimplify.c (java_gimplify_new_array_init): Remove extra
22 argument building BLOCK.
23
24 2004-02-19 Steven Bosscher <stevenb@suse.de>
25
26 * decl.c (poplevel): Don't output nested inline functions.
27
28 2004-02-16 Richard Henderson <rth@redhat.com>
29
30 * builtins.c (java_build_function_call_expr): Add static chain
31 operand to call_expr.
32
33 2004-01-29 Richard Henderson <rth@redhat.com>
34
35 PR java/12906
36 * decl.c (maybe_pushlevels): Careful with TREE_CHAIN when
37 registering decls with push_jvm_slot.
38
39 2003-12-10 Diego Novillo <dnovillo@redhat.com>
40
41 * parse.y (resolve_field_access): Remove superfluous
42 initialization of decl.
43
44 2003-12-10 Richard Henderson <rth@redhat.com>
45
46 * lang.c (java_post_options): Don't ever use rtl inlining.
47
48 2003-12-06 Jan Hubicka <jh@suse.cz>
49
50 * parse.y (resolve_field_access): Initialize decl.
51
52 2003-11-31 Richard Henderson <rth@redhat.com>
53
54 * lang.c (java_start_inlining): Remove.
55 (LANG_HOOKS_TREE_INLINING_START_INLINING): Remove.
56
57 2003-11-31 Richard Henderson <rth@redhat.com>
58
59 * jcf-parse.c (java_parse_file): Finalize cgraph after emitting
60 class tables.
61
62 2003-11-24 Richard Henderson <rth@redhat.com>
63
64 * Make-lang.in (parse.o): Remove -Wno-error.
65
66 2003-11-20 Richard Henderson <rth@redhat.com>
67
68 * constants.c (build_constant_data_ref): Lay out the array type.
69
70 2003-11-20 Richard Henderson <rth@redhat.com>
71
72 * class.c (build_indirect_class_ref): Use convert.
73 * constants.c (build_constant_data_ref): Fix type on the decl
74 and return that directly.
75 (build_constants_constructor): Remove kruft to match.
76 (build_ref_from_constant_pool): Use ARRAY_REF.
77 * expr.c (build_java_indirect_ref): Use convert.
78 (build_known_method_ref): Likewise.
79 * parse.y (patch_string_cst): Likewise.
80
81 * class.c (finish_class): Kill code to output_inline_function.
82
83 2003-11-12 Jason Merrill <jason@redhat.com>
84
85 PR optimization/12547
86 * lang.c (java_tree_inlining_walk_subtrees): Restore.
87 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Restore.
88
89 2003-11-12 Richard Henderson <rth@redhat.com>
90
91 * java-gimplify.c (java_gimplify_expr): Use annotate_with_locus
92 instead of annotate_all_with_locus.
93
94 2003-11-10 Richard Henderson <rth@redhat.com>
95
96 * expr.c: Use append_to_statement_list instead of add_tree.
97
98 2003-10-30 Richard Henderson <rth@redhat.com>
99
100 * java-gimplify.c (cleanup_compound_expr): Remove.
101 (cleanup_try_finally_expr): Remove.
102 (java_gimplify_expr): Don't call them.
103 (java_gimplify_case_expr): Use create_artificial_label.
104 (java_gimplify_default_expr): Likewise.
105
106 2003-10-30 Richard Henderson <rth@redhat.com>
107
108 * expr.c (expand_java_switch, expand_java_add_case): New.
109 (LOOKUP_SWITCH, TABLE_SWITCH): Use them.
110
111 2003-10-23 Richard Henderson <rth@redhat.com>
112
113 * java-gimplify.c (java_gimplify_expr): Return gimplify_status.
114
115 2003-10-14 Richard Henderson <rth@redhat.com>
116
117 * decl.c (finish_method): Set cfun->function_end_locus.
118 * java-gimplify.c (java_gimplify_expr): Set input_location
119 for EXPR_WITH_FILE_LOCATION. Use annotate_all_with_locus.
120 * parse.h (DECL_SOURCE_LINE_MERGE): Remove.
121 (DECL_SOURCE_LINE_FIRST, DECL_SOURCE_LINE_LAST): Remove.
122 * parse.y (missing_return_error): Use DECL_FUNCTION_LAST_LINE.
123 (finish_method_declaration): Likewise.
124 (start_artificial_method_body): Likewise.
125 (lookup_cl): Use DECL_SOURCE_LINE.
126 (start_complete_expand_method): Likewise.
127 (java_complete_lhs): Fix IS_EXPR_CODE_CLASS check.
128
129 2003-10-13 Richard Henderson <rth@redhat.com>
130
131 * decl.c (java_add_stmt): Use annotate_with_locus.
132
133 2003-10-13 Richard Henderson <rth@redhat.com>
134
135 * expr.c (build_java_jsr): Don't emit LABEL_EXPR or
136 load_type_state here.
137
138 2003-10-12 Richard Henderson <rth@redhat.com>
139
140 * class.c (build_utf8_ref, get_dispatch_table): Set TREE_INVARIANT.
141 (make_class_data, build_symbol_entry, emit_symbol_table): Likewise.
142 * decl.c (java_init_decl_processing): Likewise.
143 * except.c (prepare_eh_table_type): Likewise.
144 * parse.y (patch_assignment, patch_binop): Likewise.
145 (patch_string_cst, patch_new_array_init): Likewise.
146 * resource.c (compile_resource_data): Likewise.
147
148 2003-10-08 Jeff Sturm <jsturm@one-point.com>
149
150 * decl.c (cgraph.h): Include.
151 (tree-inline.h, tree-dump.h, tree-flow.h): Remove includes.
152 (complete_start_java_method): Remove.
153 (start_java_method): Combine with complete_start_java_method.
154 Remove dead code.
155 (end_java_method): Don't patch or expand tree.
156 Use finish_method.
157 (finish_method): New function.
158 (java_expand_body): Use tree_rest_of_compilation.
159 (java_expand_stmt): New function.
160
161 * java-gimplify.c (tree-dump.h): Include.
162 (java_genericize): New function.
163 (dump_java_tree): Declare. New function.
164
165 * java-tree.h (start_complete_expand_method): Remove declaration.
166 (complete_start_java_method): Remove declaration.
167 (finish_method, java_expand_stmt, java_genericize): Declare.
168
169 * lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Define.
170
171 * parse.y (tree-inline.h, tree-dump.h, tree-flow.h,
172 cgraph.h): Remove includes.
173 (start_complete_expand_method): Declare.
174 (source_end_java_method): Don't expand tree. Use finish_method.
175 Reset current_function_decl.
176 (java_expand_method_bodies): Don't patch tree for class
177 initialization or method synchronization.
178
179 2003-10-01 Richard Henderson <rth@redhat.com>
180
181 * decl.c (end_java_method): Invoke remove_useless_stmts_and_vars
182 and lower_eh_constructs.
183 * parse.y (source_end_java_method): Likewise.
184
185 2003-09-24 Jason Merrill <jason@redhat.com>
186
187 * decl.c, jcf-parse.c, jcf-write.c, parse.h, parse.y, resource.c:
188 Revert from TREE_LOCUS to DECL_SOURCE_LOCATION.
189
190 2003-09-18 Richard Henderson <rth@redhat.com>
191
192 * lang.c (java_estimate_num_insns): Take an expr, not a decl.
193
194 2003-08-12 Diego Novillo <dnovillo@redhat.com>
195
196 * java-gimplify.c (java_gimplify_block): If the body is a
197 NULL_TREE, return an empty statement.
198
199 2003-08-08 Jason Merrill <jason@redhat.com>
200
201 * parse.y (source_end_java_method): Support
202 !keep_function_tree_in_gimple_form.
203 Do TDI_generic dump.
204
205 2003-07-31 Andrew Haley <aph@redhat.com>
206
207 * java-tree.h: (add_stmt_to_compound): New function.
208 (java_add_stmt): New function.
209 (java_add_local_var): New function.
210 (get_stmts): New function.
211 * java-gimplify.c (java_gimplify_block): Allow for null body.
212 * except.c (link_handler): Set h->stmt.
213 (expand_start_java_handler): Build a TRY_CATCH_EXPR for this
214 range; don't expand_eh_region_start.
215 (expand_end_java_handler): Rewrite.
216 * java-except.h (stmt): New field.
217 * expr.c (flush_quick_stack): Replace expand_assignment with
218 java_add_stmt.
219 (java_stack_dup): Replace emit_move_insn with java_add_stmt.
220 (build_java_athrow): Replace expand_expr_stmt with java_add_stmt.
221 (build_java_jsr): Replace emit_jump with java_add_stmt (build (GOTO_EXPR))
222 (build_java_ret): Replace expand_computed_goto with
223 java_add_stmt (build (GOTO_EXPR))
224 (expand_java_arraystore): Replace expand_assignment with
225 java_add_stmt.
226 (expand_java_return): Replace expand_return with
227 java_add_stmt (build (RETURN_EXPR))
228 (expand_load_internal): Remove layout_decl, DECL_REGISTER,
229 expand_decl, and expand_decl_init. Instead, add the local
230 variable and a MODIFY_EXPR to the current tree.
231 (expand_iinc): Replace expand_assignment with
232 java_add_stmt.
233 (expand_compare): Replace expand_cond with
234 java_add_stmt(build (COND_EXPR))
235 (expand_java_goto): Replace expand_goto with
236 java_add_stmt (build (GOTO_EXPR))
237 (expand_invoke): Replace expand_expr_stmt with java_add_stmt.
238 (build_jni_stub): Generate a BIND_EXPR to hold the block we've
239 created. Don't distinguish between source and byte compiler.
240 (expand_java_field_op): Replace expand_assignment with
241 java_add_stmt.
242 (java_expand_expr): Abort. No-one should call this function any
243 more.
244 (expand_byte_code): Replace expand_label with
245 java_add_stmt (build (LABEL_EXPR))
246 (process_jvm_instruction): Replace build (JAVA_EXC_OBJ_EXPR) with
247 build_exception_object_ref. Replace expand_assignment with
248 java_add_stmt.
249 * except.c (link_handler): Null stmt field.
250 (expand_start_java_handler): Don't expand_eh_region_start.
251 Instead, generate a TRY_CATCH_EXPR and insert it into the tree
252 we're building.
253 (expand_end_java_handler): Don't expand_start_all_catch. Instead,
254 build a TRY_FINALLY_EXPR and wrap the catch block with it.
255 Don't expand_end_all_catch.
256 * decl.c (push_jvm_slot): Call pushdecl().
257 (find_local_variable): Give symbolic names to unnamed local
258 variables.
259 (struct binding_level: stmts): New field.
260 (poplevel): If any statements have been generated at this level,
261 create a BIND_EXPR to hold them and copy the variables to it. If
262 we are at the outermost level, save this BIND_EXPR in the
263 DECL_SAVED_TREE of this function.
264 (maybe_pushlevels): Don't expand_start_bindings.
265 (maybe_poplevels): Don't expand_end_bindings.
266 (complete_start_java_method): Reorganize static initialization and
267 synchronization logic for source compiler. Remove pushlevel and
268 expand_start_bindings for byte compiler.
269 (end_java_method): Don't expand_end_bindings. Add static
270 initialization and synchronization logic for byte compiler.
271 Set cfun->x_whole_function_mode_p.
272 Call gimplify_function_tree and optimize_function_tree and
273 expand_expr_stmt.
274 (add_stmt_to_compound): New.
275 (java_add_stmt): New.
276 (java_add_local_var): New.
277 (get_stmts): New.
278 * parse.y (add_stmt_to_compound): Remove.
279 * jcf-parse.c (parse_class_file): Don't call expand_expr_stmt for
280 a native method -- we'll do that later.
281
282 2003-07-27 Andreas Jaeger <aj@suse.de>
283
284 * expr.c (build_expr_wfl): Convert remaining K&R prototypes
285 to ISO C90.
286
287 2003-06-28 Jeff Sturm <jsturm@one-point.com>
288
289 * java-gimplify.c (java_gimplify_block): Rebuild BLOCK_SUBBLOCKS.
290 * lang.c (flag_disable_gimple): Remove initialization.
291
292 2003-06-23 Jeff Law <law@redhat.com>
293
294 * Make-lang.in (java-gimplify.o): Add dependencies.
295
296 2003-06-22 Jeff Sturm <jsturm@one-point.com>
297
298 * parse.y (source_end_java_method): Don't attempt to inline
299 or optimize trees if flag_disable_gimple.
300
301 * Make-lang.in (JAVA_OBJS): Remove java-tree-inline.o.
302
303 2003-06-21 Jeff Sturm <jsturm@one-point.com>
304
305 * Make-lang.in (JAVA_OBJS): Add java-gimplify.o.
306
307 * decl.c (java_init_decl_processing): Initialize size_type_node.
308 (complete_start_java_method): Update DECL_SAVED_TREE.
309 (dump_function): Remove.
310 (java_optimize_inline): Remove.
311
312 * expr.c (always_initialize_class_p): Initialize to 1.
313 (build_instanceof): Build proper boolean condition.
314 (build_class_init): Set DECL_INITIAL for init_test_decl.
315 (force_evaluation_order): Don't save_expr a void expr node.
316
317 * java-gimplify.c: New file.
318
319 * java-tree.h (java_gimplify_expr): Declare.
320
321 * lang.c (java_tree_inlining_walk_subtrees): Remove declaration.
322 (flag_optimize_sci): Initialize to 0.
323 (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove define.
324 (LANG_HOOKS_SIMPLIFY_EXPR): Add define.
325 (java_tree_inlining_walk_subtrees): Remove function.
326 (java_init): Set flag_disable_gimple to 1.
327
328 * parse.y (source_end_java_method): Set cfun->x_whole_function_mode_p.
329 Gimplify. Optimize tree before expanding. Update comments.
330 (java_expand_method_bodies): Always save DECL_SAVED_TREE.
331 (patch_invoke): Don't save_expr force_evaluation_order result.
332 (patch_assignment): Use simpler compound expression.
333 (patch_if_else_statement): Don't optimize constant condition nodes.
334
335 2003-03-02 Diego Novillo <dnovillo@redhat.com>
336
337 * class.c: Replace DECL_SOURCE_FILE with TREE_FILENAME and
338 DECL_SOURCE_LINE with TREE_LINENO everywhere.
339
340 2003-02-03 Diego Novillo <dnovillo@redhat.com>
341
342 * parse.y (qualify_ambiguous_name): Initialize variable 'decl'.
343
344 2003-01-15 Jeff Law <law@redhat.com>
345
346 * class.c: Use TREE_FILENAME and TREE_LINENO to extract file/line
347 information from tree nodes. Use annotate_with_file_line to
348 annotate tree nodes with file/line information.
349 * decl.c, jcf-parse.c, jcf-write.c, parse.h: Likewise.
350 * parse.y: Likewise.
351 * expr.c (java_expand_expr): Handle EXPR_WITH_FILE_LOCATION nodes.
352 (build_expr_wfl): New function.
353 * java-tree.def (EXPR_WITH_FILE_LOCATION): New node.
354 * java-tree.h (EXPR_WFL_*): New macros.
355 (build_expr_wfl): Declare.
356
357 Local Variables:
358 mode: change-log
359 change-log-default-name: "ChangeLog.tree-ssa"
360 End: