X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=95332297ad642e67db970b2b6dbab19a9952281d;hp=8507a920cd81b5ff5200d88ca33982d8568e7f2d;hb=eb2ad60c098f2e1fd744d428636e5af259c3bc72;hpb=d140c5153a7ed3943b060827ee696f1a1238f1e5 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8507a920cd8..95332297ad6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,693 @@ +2004-07-20 Frank Ch. Eigler + + * tree-mudflap.c (mf_set_options_fndecl): New tree. + (mudflap_init): Set it. + (mudflap_register_call): Remove __mf_init call. + (mudflap_finish_file): Emit call to __mf_init here. Emit a call to + to pass "-ignore-reads" option to libmudflap if needed. + +2004-07-20 John David Anglin + + PR c++/14607 + * config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define. + (MAKE_DECL_ONE_ONLY): Undefine. + * pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section, + readonly_data, one_only_data_section, forget_section): New prototypes. + * pa.c (pa_init_machine_status, som_text_section_asm_op): New + functions. + (pa_select_section): Add one-only (COMDAT) support. + * pa.h (struct machine_function): Define. + * som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete. + (TEXT_SECTION_ASM_OP): Call som_text_section_asm_op. + (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP, + ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP, + ONE_ONLY_DATA_SECTION_ASM_OP): New defines. + (EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data. + (EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros. + (READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION, + ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines + for EXTRA_SECTION_FUNCTIONS. + * doc/install.texi: Update binutils requirements. + +2004-07-20 Nathan Sidwell + + * dbxout.c (dbxout_type): Fix printf format. + + * tree.h (binfo_member): Remove. + * tree.c (binfo_member): Remove. + +2004-07-20 Nathan Sidwell + + * tree.h: Include vec.h + (DEF_VEC_P(tree)): New type. + (BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust. + (BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New. + (BINFO_LANG_SLOT): Remove. + (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New. + (struct tree_binfo): Turn base_binfos into a trailing + VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields. + (binfo_lang_slots): Remove. + * tree.c (binfo_lang_slots): Remove. + (make_tree_binfo_stat): Take a base binfo count, not a + lang slot count. Adjust. + * Makefile.in (TREE_H): Add vec.h + * alias.c (record_component_aliases): Adjust BINFO access. + * dbxout.c (dbxout_type): Likewise. + * dwarf2out.c (gen_member_die): Likewise. + * sdbout.c (sdbout_one_type): Likewise. + * tree-dump.c (deque_and_dump): Likewise. + * config/i386/i386.c (classify_argument, + contains_128bit_aligned_vector_p): Likewise. + * config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise. + * doc/c-tree.texi (Classes): Update BINFO documentation. + +2004-07-20 Steven Bosscher + + * c-common.h (check_case_value): Remove prototype. + (c_add_case_label): Adjust prototype. + * c-common.c (check_case_value): Make static. + (check_case_bounds): New function. + (c_add_case_label): Use it. Take new argument orig_type. + * c-typeck.c (struct c_switch): New orig_type field. + (c_start_case): Set it. + (do_case): Pass it to c_add_case_label. + * expr.c (expand_expr_real_1): Don't warn for out-of-bounds + cases from here. Add the labels in reverse order. + * stmt.c (struct case_node): Adjust comment. Remove balance field. + (add_case_node): Return nothing, don't check for duplicate cases. + Insert new case nodes in a list, not in an AVL tree. + (expand_end_case_type): Don't turn a case tree into a case list. + (case_tree2list): Remove. + * tree.h (add_case_node): Adjust prototype. + +2004-07-19 Paolo Bonzini + + * genattr.c (struct range, struct function_unit, + write_units, extend_range, init_range): Remove them. + (main): Remove code dealing with DEFINE_FUNCTION_UNIT. + Output "#define INSN_SCHEDULING" here. + * genattrtab.c (struct range, struct function_unit_op, + struct function_unit, struct dimension, enum operator, + operate_exp, expand_units, simplify_knowing, + encode_units_mask, simplify_by_exploding, + find_and_mark_used_attributes, unmark_used_attributes, + add_values_to_cover, increment_current_value, + test_for_current_value, simplify_with_current_value, + simplify_with_current_value_aux, gen_unit, + write_unit_name, write_function_unit_info, + write_complex_function, write_toplevel_expr, + find_single_value, extend_range): Remove. + (write_attr_get): Do not handle common_av->value + being an FFS. + (struct attr_desc): Remove func_units_p and blockage_p. + (write_attr_valueq): Do not handle them. + (find_attr): Do not clear them. + (make_internal_attr): Do not initialize them. + (main): Remove code dealing with DEFINE_FUNCTION_UNIT. + * sched-vis.c (init_target_units, insn_print_units, + init_block_visualization, print_block_visualization, + visualize_scheduled_insns, visualize_no_unit, + visualize_stall_cycles, visualize_alloc, + visualize_free, target_units, get_visual_tbl_length, + MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, + visual_tbl_line_length, visual_tbl, n_vis_no_unit, + MAX_VISUAL_NO_UNIT, vis_no_unit): Remove. + * haifa-sched.c (blockage_range, clear_units, + schedule_unit, actual_hazard, potential_hazard, + insn_unit, unit_last_insn, unit_tick, + actual_hazard_this_instance, potential_hazard, + schedule_unit, max_insn_queue_index_value): Remove. + (MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to + max_insn_queue_index. + * rtl.def (DEFINE_FUNCTION_UNIT): Remove. + * doc/md.texi (Processor pipeline description): Remove + references to old pipeline descriptions. + (Automaton pipeline description): Merge with the above. + (Old pipeline description, Comparison of the two descriptions): + Remove. + + * bt-load.c (migrate_btr_def): Remove references to + use_pipeline_interface. + * haifa-sched.c (insn_cost, schedule_insn, + schedule_block, advance_one_cycle, sched_init, + queue_to_ready, sched_finish): Likewise. + * modulo-sched.c (sms_schedule, advance_one_cycle, + ps_has_conflicts): Likewise. + * sched-rgn.c (init_ready): Likewise. + (debug_dependencies): Likewise, and remove an "if (1)". + * target.h (use_dfa_pipeline_interface): Remove. + * config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + * doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. + +2004-07-19 Roger Sayle + + * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call. + +2004-07-19 Jeff Law + + * tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New. + (get_eq_expr_value): Use it. Simplify slightly. + +2004-07-19 Maciej W. Rozycki + + * config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list. + (umulsidi3_32bit_r4000): Likewise. + +2004-07-19 Nathan Sidwell + + * vec.h: Propagate location information properly. + (VEC_T_iterate): Add result pointer parameter. + (VEC_T_space): New. + (VEC_T_reserve): Use it. + +2004-07-19 Daniel Jacobowitz + + * Makefile.in (c-format.o): Depend on c-format.h. + * c-format.h: New file. + (struct format_char_info): Add CHAIN member. + * c-format.c: Move some types and constants to c-format.h. + (format_type_error): Set to -1. + (struct function_format_info): Use an int for format_type. + (decode_format_type): Return an int. Return format_type_error + on error. + (print_char_table, asm_fprintf_char_table, gcc_diag_char_table) + (gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table) + (scan_char_table, time_char_table, monetary_char_table): Initialize + CHAIN to NULL. + (n_format_types): New variable. + (check_format_info_main): Handle CHAIN in format_char_info. + (handle_format_attribute): Handle TARGET_FORMAT_TYPES and + TARGET_N_FORMAT_TYPES. + * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*) + (sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c. + * config/sol2-c.c: New file. + * config/t-sol2: New file. + * config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define. + * config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine + TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES. + + * doc/extend.texi (Target Format Checks): New section. + (Function Attributes): Mention it. + * doc/invoke.texi: Mention target format checks. + * doc/sourcebuild.texi: Mention target format checks. + * dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and + TARGET_FORMAT_TYPES. + +2004-07-19 Andreas Krebbel + + * config/s390/s390-protos.h (s390_return_address_offset): Prototype + added. + * config/s390/s390.c (regclass_map initializer): Register 35 added to + ADDR_REGS. + (load_multiple_operation, store_multiple_operation): Removed + pointless sanity check. + (s390_decompose_address): Added check for return_address_pointer_rtx. + (s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0. + (s390_return_address_offset): New function. + * config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36. + (FRAME_REGNO_P): Added check for register 35. + (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS, + REG_ALLOC_ORDER): Appended entry for register 35. + (REG_CLASS_CONTENTS): Adjusted class masks for register 35. + (EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx. + (RETURN_ADDRESS_POINTER_REGNUM): New macro. + (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer + is eliminable using stack pointer or hard frame pointer. + (REGISTER_NAMES): Added name for register 35. + * config/s390/s390.md ("load_multiple", "store_multiple"): Removed + pointless sanity check. + +2004-07-19 Roger Sayle + + * fold-const.c (tree_expr_nonzero_p): Add function prototype. + (fold) : Move tree_expr_nonzero_p optimization from + fold_relational_const to here, i.e. "(x | 5) == 0" -> false. + (fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons + of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT. + (fold_relational_const): Tidy up handling of floating point + comparisons by calling real_compare. Remove tree_expr_nonzero_p + transformation; fold_relational_const assumes constant operands. + +2004-07-19 Gabriel Dos Reis + + * doc/sourcebuild.texi: Add libcpp, now that CPP has its own + directory. + +2004-07-19 Joseph S. Myers + + * c-tree.h (struct c_expr): Define. + (C_SET_EXP_ORIGINAL_CODE): Remove. + (parser_build_binary_op, build_compound_expr): Update prototypes. + * c-parse.in (%union): Add exprtype. + (FUNC_NAME): Mark as ttype. + (expr, expr_no_commas, cast_expr, unary_expr, primary): Change to + exprtype. + (expr): Update. Define directly in terms of expr_no_commas + instead of using nonnull_exprlist. + (nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary, + offsetof_member_designator, typespec_nonreserved_nonattr, init, + initval, designator, component_declarator, + component_notype_declarator, enumerator, array_declarator, + condition, exexpr, switch_statement, stmt_nocomp, stmt, + nonnull_asm_operands, ivar_declarator, receiver): Update. Don't + set C_EXP_ORIGINAL_CODE. Use TREE_NO_WARNING for assignments + where appropriate. + * c-common.h (C_EXP_ORIGINAL_CODE): Remove. + * c-common.c (c_common_truthvalue_conversion): Don't check + C_EXP_ORIGINAL_CODE. + * c-typeck.c (parser_build_binary_op): Use c_expr structures. + Don't use C_EXP_ORIGINAL_CODE. + (default_conversion, default_function_array_conversion): Don't use + C_EXP_ORIGINAL_CODE. Preserve TREE_NO_WARNING. + (internal_build_compound_expr): Merge into build_compound_expr. + (build_compound_expr): Take two operands instead of a TREE_LIST. + * objc/objc-act.c (get_super_receiver): Update calls to + build_compound_expr. + +2004-07-12 Paolo Bonzini + + * config/sh/sh.c (sh_use_dfa_interface): Remove. + (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to + hook_int_void_1. + * config/sh/sh.md: Extract pipeline descriptions + into separate files. + * config/sh/sh1.md: New file, extracted from sh.md. + * config/sh/sh4.md: New file, extracted from sh.md. + * config/sh/shmedia.md: New file, extracted from sh.md + and rewritten using new-style pipeline description. + +2004-07-18 Zack Weinberg + + * config/pa/pa.md: Delete the two remaining define_peephole + patterns. + +2004-07-18 Steven Bosscher + Joseph S. Myers + + * c-common.c (c_common_truthvalue_conversion): Don't warn if + TREE_NO_WARNING is set. + +2004-07-18 Roger Sayle + + * builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp, + simplify_builtin_strncmp): Delete. + (fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp): + Change argument to accept an arglist instead of an "exp". Assume + that the return type is always integer_type_node. Copy missing + transformations from their now obsolete simplify_builtin_* + equivalents. + (fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp, + fold_builtin_strcmp and fold_builtin_strncmp. + (simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp + and fold_builtin_strncmp instead of simplify_builtin_memcmp, + simplify_builtin_strcmp and simplify_builtin_strncmp respectively. + +2004-07-18 Daniel Jacobowitz + + * Makefile.in (tree-alias-common.o): Update dependencies. + +2004-07-17 Sebastian Pop + + * cfgloop.c (flow_loop_nested_p): Fix comment. + +2004-07-17 Jason Merrill + + PR c++/16115 + * stor-layout.c (relayout_decl): New fn. + * tree.h: Declare it. + (DECL_BY_REFERENCE): New macro. + +2004-07-17 Eric Botcazou + + * libgcc2.c (__enable_execute_stack): New symbol. + * libgcc-std.ver (GCC_3.4.2): New version. Inherit from GCC_3.4 + and declare __enable_execute_stack. + * mklibgcc.in (lib2funcs): Add _enable_execute_stack. + * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy. + * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into + ENABLE_EXECUTE_STACK. + * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize + on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. + * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into + ENABLE_EXECUTE_STACK. + * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. + * config/i386/i386.c (x86_initialize_trampoline): Conditionalize + on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. + * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into + ENABLE_EXECUTE_STACK. + * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. + * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise. + * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise. + * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise. + * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize + on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE. + (sparc64_initialize_trampoline): Likewise. + * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro. + +2004-07-17 Joseph S. Myers + + * langhooks.h (builtin_function): New langhook. + * langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New. + (LANG_HOOKS_INITIALIZER): Update. + * tree.h (builtin_function): Remove. + * doc/tm.texi: Update. + * c-tree.h (builtin_function): Declare. + * c-common.c, config/alpha/alpha.c, config/arm/arm.c, + config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c, + config/ia64/ia64.c, config/iq2000/iq2000.c, + config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c, + config/stormy16/stormy16.c: All callers of builtin_function + changed. + +2004-07-17 Andrew Pinski + + PR target/16556 + * config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): + Remove white space after the backslash. + +2004-07-17 Eric Botcazou + + PR rtl-optimization/16294 + * resource.c (return_insn_p): New predicate. + (mark_target_live_regs): Use it. Special-case return insns. + (init_resource_info): Use it. Don't scan the epilogue past + a return. + +2004-07-17 Zdenek Dvorak + + * loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not + destroy dominance information. + * passes.c (rest_of_handle_loop2): Free dominance information. + * tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before + jump threading. + (thread_jumps): Update dominance information and remove unreachable + blocks. + * tree-ssa-phiopt.c (replace_phi_with_stmt): Update dominance + information and remove the unreachable block. + +2004-07-17 Graham Stott + + * emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn. + +2004-07-17 Toon Moene + + * doc/sourcebuild.texi: Remove libf2c entry. + +2004-07-17 Paolo Bonzini + + * config/i386/i386.md (movv16qi_internal): Fix typo. + +2004-07-17 Steven Bosscher + + * final.c (final_scan_insn): Fix broken commit from previous + patch. + +2004-07-17 Joseph S. Myers + + * c-typeck.c (parser_build_binary_op): Condition warnings for + X<=Y<=Z on -Wparentheses instead of -Wextra. + * doc/invoke.texi: Update. Document that most of -Wparentheses is + supported for C only. + +2004-07-17 Steven Bosscher + + * cfgcleanup.c (try_simplify_condjump): Don't remove line + notes to avoid unreachable code warnings. + * toplev.c (backend_init): Don't emit line notes for + unreachable code warnings. + + * combine.c (distribute_notes): Don't distribute a + REG_VTABLE_REF note. + * final.c (final_scan_insn): Don't handle it. + * rtl.c (reg_note_name): Remove it. + * rtl.h (enum reg_node): Dito. + + * emit-rtl.c (force_line_numbers, restore_line_number_status): + Remove. + * rtl.h (force_line_numbers, restore_line_number_status): + Remove prototypes. + + * stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move... + * tree-eh.c (using_eh_for_cleanups_p): ...here. Make static. + (using_eh_for_cleanups): Also moved here. + + * expr.c (expand_expr_real_1) : Die if we see one. + : Die if we have a non-NULL SWITCH_BODY. Update calls + to expand_start_case and add_case_node. + * stmt.c (struct nesting): Cleanup unused fields condition_code, + last_unconditional_cleanup, nominal_type, printname, and + line_number_status. + (struct fixup_goto): Remove. + (struct stmt_status): Remove x_goto_fixup_chain field. + (goto_fixup_chain): Remove. + (strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable, + pushcase, pushcase_range): Remove. + (expand_start_bindings_and_block): Don't set unused fields in + the nesting stack. + (expand_start_case, add_case_node): Cleanup unused formal arguments. + (expand_end_case_type): Don't simplify the case-list. Use emit_jump + instead of emit_jump_if_reachable. + (emit_case_nodes): Likewise. + * tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer + static. + (update_eh_label): Work around left-over exception handing regions. + * tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos. + * tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function. + (pass_cleanup_cfg_post_optimizing): New pass. + (init_tree_optimization_passes): Run the new pass after all + optimizations. + * tree.h (pushcase, pushcase_range): Remove prototypes. + (expand_start_case, add_case_node): Update prototypes. + +2004-07-16 Krister Walfridsson + + * tree-inline.c (estimate_num_insns_1): Correct increase of count. + +2004-07-16 Richard Henderson + + * builtins.c (std_expand_builtin_va_arg): Remove. + (expand_builtin_va_arg): Remove. + * expr.h: Don't declare them. + * gimplify.c (mark_decls_volatile_r): Remove. + (copy_if_shared_r): Don't call it. + * target-def.h: Don't test EXPAND_BUILTIN_VA_ARG. + * expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR. + * gimple-low.c (lower_stmt): Likewise. + * tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise. + * tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise. + * tree-ssa-operands.c (get_expr_operands): Likewise. + * doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention + EXPAND_BUILTIN_VA_ARG. + * system.h (EXPAND_BUILTIN_VA_ARG): Poison. + * config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h, + config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h, + config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove. + +2004-07-16 Daniel Berlin + + * tree-ssa-pre.c (insert_aux): Break out if we hit + a critical edge. + +2004-07-16 Richard Henderson + + * basic-block.h (remove_fake_exit_edges): Declare. + * cfganal.c (remove_fake_predecessors): Rename from + remove_fake_successors; iterate over predecessors. + (remove_fake_exit_edges): New. + * cfgcleanup.c (try_optimize_cfg): Use it. + * gcse.c (one_pre_gcse_pass, store_motion): Likewise. + * predict.c (estimate_probability): Likewise. + (tree_estimate_probability, note_prediction_to_br_prob): Likewise. + * tree-cfg.c (make_edges): Likewise. + * tree-ssa-pre.c (fini_pre): Likewise. + * profile.c (instrument_edges): Don't remove_fake_edges. + (branch_prob): Do it earlier here. + +2004-07-16 Richard Henderson + + * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 + switchification wrt CONSTRUCTOR. Document the reason. + +2004-07-16 Frank Ch. Eigler + + * tree-mudflap.c (mf_file_function_line_tree): Correct typo + that prevented descriptive __mf_check source location strings. + +2004-07-16 Richard Henderson + + * tree-def (WITH_SIZE_EXPR): New. + * explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR. + * expr.c (expand_expr_real_1): Likewise. + * gimplify.c (maybe_with_size_expr): New. + (gimplify_arg, gimplify_modify_expr): Use it. + (gimplify_modify_expr_to_memcpy): Take size parameter. + (gimplify_modify_expr_to_memset): Likewise. + (gimplify_expr): Handle WITH_SIZE_EXPR. + * tree-alias-common.c (find_func_aliases): Likewise. + * tree-eh.c (tree_could_trap_p): Likewise. + (tree_could_throw_p): Likewise. + * tree-gimple.c (is_gimple_lvalue): Likewise. + (get_call_expr_in): Likewise. + * tree-inline.c (estimate_num_insns_1): Likewise. + (expand_calls_inline): Likewise. + * tree-nested.c (convert_call_expr): Likewise. + * tree-pretty-print.c (dump_generic_node): Likewise. + * tree-sra.c (sra_walk_expr): Likewise. + * tree-ssa-alias.c (add_pointed_to_expr): Likewise. + * tree-ssa-ccp.c (get_rhs, set_rhs): Likewise. + * tree-ssa-operands.c (get_expr_operands): Likewise. + * tree-tailcall.c (find_tail_calls): Likewise. + + * calls.c (expand_call): Reset old_stack_allocated after + calling emit_stack_restore. + +2004-07-16 Richard Henderson + + * langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING, + lhd_tree_inlining_copy_res_decl_for_inlining): Remove. + * langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove. + * langhooks.h (struct lang_hooks_for_tree_inlining): Remove + copy_res_decl_for_inlining. + + * tree-inline.c (declare_return_variable): New modify_dest argument. + Use it as the return value, when possible or manditory. Handle + TREE_ADDRESSABLE types. + (expand_call_inline): Extract MODIFY_EXPR lhs for call. Simplify + replacement of CALL_EXPR. + +2004-07-16 Richard Henderson + + * tree-flow.h (struct var_ann_d): Remove has_hidden_use. + * gimple-low.c (expand_var_p): Don't check it. + * tree-ssa-alias.c (setup_pointers_and_addressables): Likewise. + * tree-ssa-copyrename.c (rename_ssa_copies): Likewise. + * tree-ssa-operands.c (add_stmt_operand): Likewise. + * tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill. + (find_referenced_vars): Don't call them. + * tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill. + +2004-07-16 Richard Henderson + + * function.c (pass_by_reference): True for all variable sized types. + +2004-07-16 Sebastian Pop + + * Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h. + * tree-pretty-print.c: Include tree-chrec.h. + (dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN + and POLYNOMIAL_CHREC nodes. + +2004-07-16 Steve Ellcey + + * builtins.c (expand_builtin_stpcpy): Do not create temporary + reg with VOIDmode. + +2004-07-16 Segher Boessenkool + + * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi). + +2004-07-16 Andreas Krebbel + + * config/s390/s390.md: Changed every occurence of BASE_REGISTER + to BASE_REGNUM. + * config/s390/s390.c: Likewise. + * config/s390/s390.h: Likewise. + +2004-07-16 Richard Sandiford + + * config/mips/mips.md (addsi3, adddi3): Remove special handling + of $sp adds. Remove REGNO checks from mips16 patterns. + +2004-07-16 Richard Sandiford + + * config/mips/mips.md: Delete outdated comment. + +2004-07-16 Richard Sandiford + + * config/mips/mips.c (get_float_compare_codes): Delete. + (mips_emit_compare): New function, mostly extracted from + get_float_compare_codes and gen_conditional_branch. + (gen_conditional_branch, gen_conditional_move): Use it. + +2004-07-16 Segher Boessenkool + + * genautomata.c (add_vect): Speedup by using integers as + bit-vectors for walking through the comb_vect and finding + a match. + +2004-07-16 Richard Sandiford + + * config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second + operand is an uns_arith_operand; use subtraction otherwise. + * config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand, + not just arith_operands. + +2004-07-16 Richard Sandiford + + * config/mips/mips-protos.h (gen_int_relational): Delete. + (mips_emit_scc): Declare. + * config/mips/mips.c (internal_test): Delete. + (sle_operand, sleu_operand): New functions. + (map_test_to_internal_test, gen_int_relational): Delete. + (mips_emit_binary, mips_relational_operand_ok_p) + (mips_emit_int_relational, mips_zero_if_equal) + (mips_emit_scc): New functions. + (gen_conditional_branch): Rework to use mips_emit_int_relational. + * config/mips/mips.h (PREDICATE_CODES): Add sle_operand and + sleu_operand. + * config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu) + (sltu, sleu): Use mips_emit_scc. + (*sge_[sd]i, *sgeu_[sd]i): New patterns. + (*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand. + (*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand. + +2004-07-16 Richard Sandiford + + * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint. + +2004-07-16 Richard Sandiford + + * config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero. + (*sne_[sd]i): Likewise sne_[sd]i_zero. + (*sgt_[sd]i): ...and sgt_[sd]i. + (*slt_[sd]i): ...and slt_[sd]i. + (*sgtu_[sd]i): ...and sgtu_[sd]i. + (*sltu_[sd]i): ...and sltu_[sd]i. + (*sleu_[sd]i): ...and sleu_[sd]i_const. + Name previously unnamed mips16 patterns. Formatting fixes. + +2004-07-16 Richard Sandiford + + * config/mips/mips.c (cmp_operands): Renamed from branch_cmp. + (branch_type): Delete. + (gen_conditional_branch, gen_conditional_move) + (mips_gen_conditional_trap): Update after name change. Get the + comparison mode from cmp_operands[0]. + * config/mips/mips.h (cmp_type, branch_type): Delete. + (cmp_operands): Renamed from branch_cmp. + * config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after + name change. Don't set branch_type. + (seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the + mode class of cmp_operands[0] rather than branch_type. Update after + name change. + 2004-07-16 Richard Sandiford * config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost @@ -29,14 +719,14 @@ 2004-07-15 Roman Zippel - * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to + * config/m68k/m68k.c (output_move_qimode): Abort on an attempt to generate code which is generated by pushqi1 now * config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove. 2004-07-15 Roman Zippel - * combine.c (simplify_set): match the mode of the constant 0 with - the tested operand to match the compare behaviour and the + * combine.c (simplify_set): match the mode of the constant 0 with + the tested operand to match the compare behaviour and the simplify_relational_operation() expectation. 2004-07-15 Aldy Hernandez