ChangeLog.tree-ssa   [plain text]

2004-05-10  Andrew Haley  <>

	* java-gimplify.c (java_gimplify_expr): Copy the LHS of a binary
	expression into a temporary variable.

	(java_gimplify_new_array_init): Set the DECL_CONTEXT of array and
	tmp to current_function_decl.

2004-04-13  Diego Novillo  <>

	* expr.c (build_expr_wfl): Don't check type nodes for
	side effects.

2004-04-12  Diego Novillo  <>

	* decl.c (java_expand_stmt): Remove.
	* lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Remove.

2004-02-24  Richard Henderson  <>

	* java-gimplify.c (java_gimplify_new_array_init): Remove extra
	argument building BLOCK.

2004-02-19  Steven Bosscher  <>

	* decl.c (poplevel): Don't output nested inline functions.

2004-02-16  Richard Henderson  <>

	* builtins.c (java_build_function_call_expr): Add static chain
	operand to call_expr.

2004-01-29  Richard Henderson  <>

	PR java/12906
	* decl.c (maybe_pushlevels): Careful with TREE_CHAIN when
	registering decls with push_jvm_slot.

2003-12-10  Diego Novillo  <>

	* parse.y (resolve_field_access): Remove superfluous
	initialization of decl.

2003-12-10  Richard Henderson  <>

	* lang.c (java_post_options): Don't ever use rtl inlining.

2003-12-06  Jan Hubicka  <>

	* parse.y (resolve_field_access): Initialize decl.

2003-11-31  Richard Henderson  <>

	* lang.c (java_start_inlining): Remove.

2003-11-31  Richard Henderson  <>

	* jcf-parse.c (java_parse_file): Finalize cgraph after emitting
	class tables.

2003-11-24  Richard Henderson  <>

	* (parse.o): Remove -Wno-error.

2003-11-20  Richard Henderson <>

	* constants.c (build_constant_data_ref): Lay out the array type.

2003-11-20  Richard Henderson <>

	* class.c (build_indirect_class_ref): Use convert.
	* constants.c (build_constant_data_ref): Fix type on the decl
	and return that directly.
	(build_constants_constructor): Remove kruft to match.
	(build_ref_from_constant_pool): Use ARRAY_REF.
	* expr.c (build_java_indirect_ref): Use convert.
	(build_known_method_ref): Likewise.
	* parse.y (patch_string_cst): Likewise.

	* class.c (finish_class): Kill code to output_inline_function.

2003-11-12  Jason Merrill  <>

	PR optimization/12547
	* lang.c (java_tree_inlining_walk_subtrees): Restore.

2003-11-12  Richard Henderson  <>

	* java-gimplify.c (java_gimplify_expr): Use annotate_with_locus
	instead of annotate_all_with_locus.

2003-11-10  Richard Henderson  <>

	* expr.c: Use append_to_statement_list instead of add_tree.

2003-10-30  Richard Henderson  <>

	* java-gimplify.c (cleanup_compound_expr): Remove.
	(cleanup_try_finally_expr): Remove.
	(java_gimplify_expr): Don't call them.
	(java_gimplify_case_expr): Use create_artificial_label.
	(java_gimplify_default_expr): Likewise.

2003-10-30  Richard Henderson  <>

	* expr.c (expand_java_switch, expand_java_add_case): New.

2003-10-23  Richard Henderson  <>

	* java-gimplify.c (java_gimplify_expr): Return gimplify_status.

2003-10-14  Richard Henderson  <>

	* decl.c (finish_method): Set cfun->function_end_locus.
	* java-gimplify.c (java_gimplify_expr): Set input_location
	for EXPR_WITH_FILE_LOCATION.  Use annotate_all_with_locus.
	* parse.h (DECL_SOURCE_LINE_MERGE): Remove.
	* parse.y (missing_return_error): Use DECL_FUNCTION_LAST_LINE.
	(finish_method_declaration): Likewise.
	(start_artificial_method_body): Likewise.
	(lookup_cl): Use DECL_SOURCE_LINE.
	(start_complete_expand_method): Likewise.
	(java_complete_lhs): Fix IS_EXPR_CODE_CLASS check.

2003-10-13  Richard Henderson  <>

	* decl.c (java_add_stmt): Use annotate_with_locus.

2003-10-13  Richard Henderson  <>

	* expr.c (build_java_jsr): Don't emit LABEL_EXPR or
	load_type_state here.

2003-10-12  Richard Henderson  <>

	* class.c (build_utf8_ref, get_dispatch_table): Set TREE_INVARIANT.
	(make_class_data, build_symbol_entry, emit_symbol_table): Likewise.
	* decl.c (java_init_decl_processing): Likewise.
	* except.c (prepare_eh_table_type): Likewise.
	* parse.y (patch_assignment, patch_binop): Likewise.
	(patch_string_cst, patch_new_array_init): Likewise.
	* resource.c (compile_resource_data): Likewise.

2003-10-08  Jeff Sturm  <>

	* decl.c (cgraph.h): Include.
	(tree-inline.h, tree-dump.h, tree-flow.h): Remove includes.
	(complete_start_java_method): Remove.
	(start_java_method): Combine with complete_start_java_method.
	Remove dead code.
	(end_java_method): Don't patch or expand tree.
	Use finish_method.
	(finish_method): New function.
	(java_expand_body): Use tree_rest_of_compilation.
	(java_expand_stmt): New function.

	* java-gimplify.c (tree-dump.h): Include.
	(java_genericize): New function.
	(dump_java_tree): Declare.  New function.

	* java-tree.h (start_complete_expand_method): Remove declaration.
	(complete_start_java_method): Remove declaration.
	(finish_method, java_expand_stmt, java_genericize): Declare.

	* lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Define.

	* parse.y (tree-inline.h, tree-dump.h, tree-flow.h,
	cgraph.h): Remove includes.
	(start_complete_expand_method): Declare.
	(source_end_java_method): Don't expand tree.  Use finish_method.
	Reset current_function_decl.
	(java_expand_method_bodies): Don't patch tree for class
	initialization or method synchronization.

2003-10-01  Richard Henderson  <>

	* decl.c (end_java_method): Invoke remove_useless_stmts_and_vars
	and lower_eh_constructs.
	* parse.y (source_end_java_method): Likewise.

2003-09-24  Jason Merrill  <>

	* decl.c, jcf-parse.c, jcf-write.c, parse.h, parse.y, resource.c:

2003-09-18  Richard Henderson  <>

	* lang.c (java_estimate_num_insns): Take an expr, not a decl.

2003-08-12  Diego Novillo  <>

	* java-gimplify.c (java_gimplify_block): If the body is a
	NULL_TREE, return an empty statement.

2003-08-08  Jason Merrill  <>

	* parse.y (source_end_java_method): Support
	Do TDI_generic dump.

2003-07-31  Andrew Haley  <>

	* java-tree.h: (add_stmt_to_compound): New function.
	(java_add_stmt): New function.
	(java_add_local_var): New function.
	(get_stmts): New function.
	* java-gimplify.c (java_gimplify_block): Allow for null body.
	* except.c (link_handler): Set h->stmt.
	(expand_start_java_handler): Build a TRY_CATCH_EXPR for this
	range;  don't expand_eh_region_start.
	(expand_end_java_handler): Rewrite.
	* java-except.h (stmt): New field.
	* expr.c (flush_quick_stack): Replace expand_assignment with
	(java_stack_dup): Replace emit_move_insn with java_add_stmt.
	(build_java_athrow): Replace expand_expr_stmt with java_add_stmt.
	(build_java_jsr): Replace emit_jump with java_add_stmt (build (GOTO_EXPR))
	(build_java_ret): Replace expand_computed_goto with
	java_add_stmt (build (GOTO_EXPR))
	(expand_java_arraystore): Replace expand_assignment with
	(expand_java_return): Replace expand_return with
	java_add_stmt (build (RETURN_EXPR))
	(expand_load_internal): Remove layout_decl, DECL_REGISTER,
	expand_decl, and expand_decl_init.  Instead, add the local
	variable and a MODIFY_EXPR to the current tree.
	(expand_iinc): Replace expand_assignment with
	(expand_compare): Replace expand_cond with
	java_add_stmt(build (COND_EXPR))
	(expand_java_goto): Replace expand_goto with
	java_add_stmt (build (GOTO_EXPR))
	(expand_invoke): Replace expand_expr_stmt with java_add_stmt.
	(build_jni_stub): Generate a BIND_EXPR to hold the block we've
	created.  Don't distinguish between source and byte compiler.
	(expand_java_field_op):  Replace expand_assignment with
	(java_expand_expr): Abort.  No-one should call this function any
	(expand_byte_code): Replace expand_label with
	java_add_stmt (build (LABEL_EXPR))
	(process_jvm_instruction): Replace build (JAVA_EXC_OBJ_EXPR) with
	build_exception_object_ref.  Replace expand_assignment with
	* except.c (link_handler): Null stmt field.
	(expand_start_java_handler): Don't expand_eh_region_start.
	Instead, generate a TRY_CATCH_EXPR and insert it into the tree
	we're building.
	(expand_end_java_handler): Don't expand_start_all_catch.  Instead,
	build a TRY_FINALLY_EXPR and wrap the catch block with it.
	Don't expand_end_all_catch.
	* decl.c (push_jvm_slot): Call pushdecl().
	(find_local_variable): Give symbolic names to unnamed local
	(struct binding_level: stmts): New field.
	(poplevel): If any statements have been generated at this level,
	create a BIND_EXPR to hold them and copy the variables to it.  If
	we are at the outermost level, save this BIND_EXPR in the
	DECL_SAVED_TREE of this function.
	(maybe_pushlevels): Don't expand_start_bindings.
	(maybe_poplevels): Don't expand_end_bindings.
	(complete_start_java_method): Reorganize static initialization and
	synchronization logic for source compiler.  Remove pushlevel and
	expand_start_bindings for byte compiler.
	(end_java_method): Don't expand_end_bindings.  Add static
	initialization and synchronization logic for byte compiler.
	Set cfun->x_whole_function_mode_p.
	Call gimplify_function_tree and optimize_function_tree and
	(add_stmt_to_compound): New.
	(java_add_stmt): New.
	(java_add_local_var): New.
	(get_stmts): New.
	* parse.y (add_stmt_to_compound): Remove.
	* jcf-parse.c (parse_class_file): Don't call expand_expr_stmt for
	a native method -- we'll do that later.

2003-07-27  Andreas Jaeger  <>

	* expr.c (build_expr_wfl): Convert remaining K&R prototypes
	to ISO C90.

2003-06-28  Jeff Sturm  <>

	* java-gimplify.c (java_gimplify_block): Rebuild BLOCK_SUBBLOCKS.
	* lang.c (flag_disable_gimple): Remove initialization.

2003-06-23  Jeff Law  <>

	* (java-gimplify.o): Add dependencies.

2003-06-22  Jeff Sturm  <>

	* parse.y (source_end_java_method): Don't attempt to inline
	or optimize trees if flag_disable_gimple.

	* (JAVA_OBJS): Remove java-tree-inline.o.

2003-06-21  Jeff Sturm  <>

	* (JAVA_OBJS): Add java-gimplify.o.

	* decl.c (java_init_decl_processing): Initialize size_type_node.
	(complete_start_java_method): Update DECL_SAVED_TREE.
	(dump_function): Remove.
	(java_optimize_inline): Remove.

	* expr.c (always_initialize_class_p): Initialize to 1.
	(build_instanceof): Build proper boolean condition.
	(build_class_init): Set DECL_INITIAL for init_test_decl.
	(force_evaluation_order): Don't save_expr a void expr node.

	* java-gimplify.c: New file.

	* java-tree.h (java_gimplify_expr): Declare.

	* lang.c (java_tree_inlining_walk_subtrees): Remove declaration.
	(flag_optimize_sci): Initialize to 0.
	(java_tree_inlining_walk_subtrees): Remove function.
	(java_init): Set flag_disable_gimple to 1.

	* parse.y (source_end_java_method): Set cfun->x_whole_function_mode_p.
	Gimplify.  Optimize tree before expanding.  Update comments.
	(java_expand_method_bodies): Always save DECL_SAVED_TREE.
	(patch_invoke): Don't save_expr force_evaluation_order result.
	(patch_assignment): Use simpler compound expression.
	(patch_if_else_statement): Don't optimize constant condition nodes.

2003-03-02  Diego Novillo  <>

	* class.c: Replace DECL_SOURCE_FILE with TREE_FILENAME and

2003-02-03  Diego Novillo  <>

	* parse.y (qualify_ambiguous_name): Initialize variable 'decl'.

2003-01-15  Jeff Law <>

	* class.c: Use TREE_FILENAME and TREE_LINENO to extract file/line
	information from tree nodes.  Use annotate_with_file_line to
	annotate tree nodes with file/line information.
	* decl.c, jcf-parse.c, jcf-write.c, parse.h: Likewise.
	* parse.y: Likewise.
	* expr.c (java_expand_expr): Handle EXPR_WITH_FILE_LOCATION nodes.
	(build_expr_wfl): New function.
	* java-tree.def (EXPR_WITH_FILE_LOCATION): New node.
	* java-tree.h (EXPR_WFL_*): New macros.
	(build_expr_wfl): Declare.

Local Variables:
mode: change-log
change-log-default-name: "ChangeLog.tree-ssa"