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. (LANG_HOOKS_TREE_INLINING_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 * Make-lang.in (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. (LANG_HOOKS_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. (LOOKUP_SWITCH, TABLE_SWITCH): Use them. 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. (DECL_SOURCE_LINE_FIRST, DECL_SOURCE_LINE_LAST): 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: Revert from TREE_LOCUS to DECL_SOURCE_LOCATION. 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 !keep_function_tree_in_gimple_form. 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_add_stmt. (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 java_add_stmt. (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 java_add_stmt. (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_add_stmt. (java_expand_expr): Abort. No-one should call this function any more. (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 java_add_stmt. * 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 variables. (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 expand_expr_stmt. (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 * Make-lang.in (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. * Make-lang.in (JAVA_OBJS): Remove java-tree-inline.o. 2003-06-21 Jeff Sturm * Make-lang.in (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. (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove define. (LANG_HOOKS_SIMPLIFY_EXPR): Add define. (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 DECL_SOURCE_LINE with TREE_LINENO everywhere. 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" End: