re PR fortran/37792 (ICE in gfc_conv_array_initializer; works with -fno-range-check)
[official-gcc.git] / gcc / java / ChangeLog.tree-ssa
blob7cca7ce7e89f93d0ddec578efc1d47c3fa5db029
1 2004-05-10  Andrew Haley  <aph@redhat.com>
3         * java-gimplify.c (java_gimplify_expr): Copy the LHS of a binary
4         expression into a temporary variable.
6         (java_gimplify_new_array_init): Set the DECL_CONTEXT of array and
7         tmp to current_function_decl.
9 2004-04-13  Diego Novillo  <dnovillo@redhat.com>
11         * expr.c (build_expr_wfl): Don't check type nodes for
12         side effects.
14 2004-04-12  Diego Novillo  <dnovillo@redhat.com>
16         * decl.c (java_expand_stmt): Remove.
17         * lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Remove.
19 2004-02-24  Richard Henderson  <rth@redhat.com>
21         * java-gimplify.c (java_gimplify_new_array_init): Remove extra
22         argument building BLOCK.
24 2004-02-19  Steven Bosscher  <stevenb@suse.de>
26         * decl.c (poplevel): Don't output nested inline functions.
28 2004-02-16  Richard Henderson  <rth@redhat.com>
30         * builtins.c (java_build_function_call_expr): Add static chain
31         operand to call_expr.
33 2004-01-29  Richard Henderson  <rth@redhat.com>
35         PR java/12906
36         * decl.c (maybe_pushlevels): Careful with TREE_CHAIN when
37         registering decls with push_jvm_slot.
39 2003-12-10  Diego Novillo  <dnovillo@redhat.com>
41         * parse.y (resolve_field_access): Remove superfluous
42         initialization of decl.
44 2003-12-10  Richard Henderson  <rth@redhat.com>
46         * lang.c (java_post_options): Don't ever use rtl inlining.
48 2003-12-06  Jan Hubicka  <jh@suse.cz>
50         * parse.y (resolve_field_access): Initialize decl.
52 2003-11-31  Richard Henderson  <rth@redhat.com>
54         * lang.c (java_start_inlining): Remove.
55         (LANG_HOOKS_TREE_INLINING_START_INLINING): Remove.
57 2003-11-31  Richard Henderson  <rth@redhat.com>
59         * jcf-parse.c (java_parse_file): Finalize cgraph after emitting
60         class tables.
62 2003-11-24  Richard Henderson  <rth@redhat.com>
64         * Make-lang.in (parse.o): Remove -Wno-error.
66 2003-11-20  Richard Henderson <rth@redhat.com>
68         * constants.c (build_constant_data_ref): Lay out the array type.
70 2003-11-20  Richard Henderson <rth@redhat.com>
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.
81         * class.c (finish_class): Kill code to output_inline_function.
83 2003-11-12  Jason Merrill  <jason@redhat.com>
85         PR optimization/12547
86         * lang.c (java_tree_inlining_walk_subtrees): Restore.
87         (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Restore.
89 2003-11-12  Richard Henderson  <rth@redhat.com>
91         * java-gimplify.c (java_gimplify_expr): Use annotate_with_locus
92         instead of annotate_all_with_locus.
94 2003-11-10  Richard Henderson  <rth@redhat.com>
96         * expr.c: Use append_to_statement_list instead of add_tree.
98 2003-10-30  Richard Henderson  <rth@redhat.com>
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.
106 2003-10-30  Richard Henderson  <rth@redhat.com>
108         * expr.c (expand_java_switch, expand_java_add_case): New.
109         (LOOKUP_SWITCH, TABLE_SWITCH): Use them.
111 2003-10-23  Richard Henderson  <rth@redhat.com>
113         * java-gimplify.c (java_gimplify_expr): Return gimplify_status.
115 2003-10-14  Richard Henderson  <rth@redhat.com>
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.
129 2003-10-13  Richard Henderson  <rth@redhat.com>
131         * decl.c (java_add_stmt): Use annotate_with_locus.
133 2003-10-13  Richard Henderson  <rth@redhat.com>
135         * expr.c (build_java_jsr): Don't emit LABEL_EXPR or
136         load_type_state here.
138 2003-10-12  Richard Henderson  <rth@redhat.com>
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.
148 2003-10-08  Jeff Sturm  <jsturm@one-point.com>
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.
161         * java-gimplify.c (tree-dump.h): Include.
162         (java_genericize): New function.
163         (dump_java_tree): Declare.  New function.
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.
169         * lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Define.
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.
179 2003-10-01  Richard Henderson  <rth@redhat.com>
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.
185 2003-09-24  Jason Merrill  <jason@redhat.com>
187         * decl.c, jcf-parse.c, jcf-write.c, parse.h, parse.y, resource.c:
188         Revert from TREE_LOCUS to DECL_SOURCE_LOCATION.
190 2003-09-18  Richard Henderson  <rth@redhat.com>
192         * lang.c (java_estimate_num_insns): Take an expr, not a decl.
194 2003-08-12  Diego Novillo  <dnovillo@redhat.com>
196         * java-gimplify.c (java_gimplify_block): If the body is a
197         NULL_TREE, return an empty statement.
199 2003-08-08  Jason Merrill  <jason@redhat.com>
201         * parse.y (source_end_java_method): Support
202         !keep_function_tree_in_gimple_form.
203         Do TDI_generic dump.
205 2003-07-31  Andrew Haley  <aph@redhat.com>
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.
282 2003-07-27  Andreas Jaeger  <aj@suse.de>
284         * expr.c (build_expr_wfl): Convert remaining K&R prototypes
285         to ISO C90.
287 2003-06-28  Jeff Sturm  <jsturm@one-point.com>
289         * java-gimplify.c (java_gimplify_block): Rebuild BLOCK_SUBBLOCKS.
290         * lang.c (flag_disable_gimple): Remove initialization.
292 2003-06-23  Jeff Law  <law@redhat.com>
294         * Make-lang.in (java-gimplify.o): Add dependencies.
296 2003-06-22  Jeff Sturm  <jsturm@one-point.com>
298         * parse.y (source_end_java_method): Don't attempt to inline
299         or optimize trees if flag_disable_gimple.
301         * Make-lang.in (JAVA_OBJS): Remove java-tree-inline.o.
303 2003-06-21  Jeff Sturm  <jsturm@one-point.com>
305         * Make-lang.in (JAVA_OBJS): Add java-gimplify.o.
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.
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.
317         * java-gimplify.c: New file.
319         * java-tree.h (java_gimplify_expr): Declare.
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.
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.
335 2003-03-02  Diego Novillo  <dnovillo@redhat.com>
337         * class.c: Replace DECL_SOURCE_FILE with TREE_FILENAME and
338         DECL_SOURCE_LINE with TREE_LINENO everywhere.
340 2003-02-03  Diego Novillo  <dnovillo@redhat.com>
342         * parse.y (qualify_ambiguous_name): Initialize variable 'decl'.
344 2003-01-15  Jeff Law <law@redhat.com>
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.
357 Local Variables:
358 mode: change-log
359 change-log-default-name: "ChangeLog.tree-ssa"
360 End: