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
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
33 2004-01-29 Richard Henderson <rth@redhat.com>
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
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>
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.
155 (end_java_method): Don't patch or expand tree.
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.
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
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
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
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
242 (java_expand_expr): Abort. No-one should call this function any
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
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
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
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
274 (add_stmt_to_compound): New.
275 (java_add_stmt): New.
276 (java_add_local_var): 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
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.
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.
359 change-log-default-name: "ChangeLog.tree-ssa"
363 Copyright (C) 2003, 2004 Free Software Foundation, Inc.
365 Copying and distribution of this file, with or without modification,
366 are permitted in any medium without royalty provided the copyright
367 notice and this notice are preserved.