-2004-07-14 Mike Stump <mrs@apple.com>
+2004-07-20 Frank Ch. Eigler <fche@redhat.com>
+
+ * 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 <dava.anglin@nrc-cnrc.gc.ca>
+
+ 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 <nathan@codesourcery.com>
+
+ * dbxout.c (dbxout_type): Fix printf format.
+
+ * tree.h (binfo_member): Remove.
+ * tree.c (binfo_member): Remove.
+
+2004-07-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * 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 <stevenb@suse.de>
+
+ * 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 <bonzini@gnu.org>
+
+ * 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 <roger@eyesopen.com>
+
+ * rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call.
+
+2004-07-19 Jeff Law <law@redhat.com>
+
+ * 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 <macro@linux-mips.org>
+
+ * config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list.
+ (umulsidi3_32bit_r4000): Likewise.
+
+2004-07-19 Nathan Sidwell <nathan@codesourcery.com>
+
+ * 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 <dan@debian.org>
+
+ * 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 <krebbel1@de.ibm.com>
+
+ * 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 <roger@eyesopen.com>
+
+ * fold-const.c (tree_expr_nonzero_p): Add function prototype.
+ (fold) <EQ_EXPR>: 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 <gdr@integrable-solution.net>
+
+ * doc/sourcebuild.texi: Add libcpp, now that CPP has its own
+ directory.
+
+2004-07-19 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * 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 <bonzini@gnu.org>
+
+ * 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 <zack@codesourcery.com>
+
+ * config/pa/pa.md: Delete the two remaining define_peephole
+ patterns.
+
+2004-07-18 Steven Bosscher <stevenb@suse.de>
+ Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * c-common.c (c_common_truthvalue_conversion): Don't warn if
+ TREE_NO_WARNING is set.
+
+2004-07-18 Roger Sayle <roger@eyesopen.com>
+
+ * 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 <dan@debian.org>
+
+ * Makefile.in (tree-alias-common.o): Update dependencies.
+
+2004-07-17 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * cfgloop.c (flow_loop_nested_p): Fix comment.
+
+2004-07-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/16115
+ * stor-layout.c (relayout_decl): New fn.
+ * tree.h: Declare it.
+ (DECL_BY_REFERENCE): New macro.
+
+2004-07-17 Eric Botcazou <ebotcazou@act-europe.fr>
+
+ * 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 <jsm@polyomino.org.uk>
+
+ * 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 <pinskia@physics.uc.edu>
+
+ PR target/16556
+ * config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
+ Remove white space after the backslash.
+
+2004-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ 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 <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * 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 <graham.stott@btinternet.com>
+
+ * emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn.
+
+2004-07-17 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * doc/sourcebuild.texi: Remove libf2c entry.
+
+2004-07-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/i386/i386.md (movv16qi_internal): Fix typo.
+
+2004-07-17 Steven Bosscher <stevenb@suse.de>
+
+ * final.c (final_scan_insn): Fix broken commit from previous
+ patch.
+
+2004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * 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 <stevenb@suse.de>
+
+ * 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) <CASE_LABEL_EXPR>: Die if we see one.
+ <SWITCH_EXPR>: 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 <cato@df.lth.se>
+
+ * tree-inline.c (estimate_num_insns_1): Correct increase of count.
+
+2004-07-16 Richard Henderson <rth@redhat.com>
+
+ * 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 <dberlin@dberlin.org>
+
+ * tree-ssa-pre.c (insert_aux): Break out if we hit
+ a critical edge.
+
+2004-07-16 Richard Henderson <rth@redhat.com>
+
+ * 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 <rth@redhat.com>
+
+ * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
+ switchification wrt CONSTRUCTOR. Document the reason.
+
+2004-07-16 Frank Ch. Eigler <fche@redhat.com>
+
+ * tree-mudflap.c (mf_file_function_line_tree): Correct typo
+ that prevented descriptive __mf_check source location strings.
+
+2004-07-16 Richard Henderson <rth@redhat.com>
+
+ * 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 <rth@redhat.com>
+
+ * 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 <rth@redhat.com>
+
+ * 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 <rth@redhat.com>
+
+ * function.c (pass_by_reference): True for all variable sized types.
+
+2004-07-16 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * 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 <sje@cup.hp.com>
+
+ * builtins.c (expand_builtin_stpcpy): Do not create temporary
+ reg with VOIDmode.
+
+2004-07-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
+
+2004-07-16 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * 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 <rsandifo@redhat.com>
+
+ * config/mips/mips.md (addsi3, adddi3): Remove special handling
+ of $sp adds. Remove REGNO checks from mips16 patterns.
+
+2004-07-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Delete outdated comment.
+
+2004-07-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * 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 <segher@kernel.crashing.org>
+
+ * 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 <rsandifo@redhat.com>
+
+ * 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 <rsandifo@redhat.com>
+
+ * 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 <rsandifo@redhat.com>
+
+ * config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.
+
+2004-07-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * 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 <rsandifo@redhat.com>
+
+ * 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 <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost
+ of 0...255 to 0 when inside a SET.
+
+2004-07-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Remove mips16 define_peepholes.
+
+2004-07-16 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
+ (fini_pre): Remove fake edges.
+
+2004-07-15 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-operands.c (get_expr_operands): Use a switch. Split out...
+ (get_indirect_ref_operands, get_call_expr_operands): ... these.
+
+2004-07-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * vec.h (VEC_address): New function.
+
+2004-07-14 Jason Merrill <jason@redhat.com>
+
+ PR middle-end/15885
+ * gimplify.c (gimplify_arg): New fn, split out from...
+ (gimplify_call_expr): Here. Special-case BUILT_IN_VA_START.
+
+2004-07-15 Roman Zippel <zippel@linux-m68k.org>
+
+ * 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 <zippel@linux-m68k.org>
+
+ * 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 <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md ("bunordered"): Disable for e500.
+ ("bordered"): Same.
+
+2004-07-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
+ unconditionally.
+ * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
+
+2004-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_adjust_insn_length): Fix handling of
+ calls in mips16 code.
+
+2004-07-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: In the mips16 li/neg splitter, use SImode for
+ the destination of the li as well as for the neg.
+
+2004-07-15 Frank Ch. Eigler <fche@redhat.com>
+
+ g++/15861
+ * cgraphunit.c (cgraph_build_static_cdtor): Add priority argument.
+ * cgraph.h: Update declaration.
+ * c-decl.c (build_cdtor): Update call with default priority.
+ * coverage.c (create_coverage): Ditto.
+ * tree-mudflap.c (mf_init_fndecl): New tree.
+ (mudflap_init): Set it.
+ (mudflap_register_call): Arrange to call __mf_init before the first
+ __mf_register call.
+ (mudflap_finish_file): Mark the mudflap static initializer as extra
+ high priority, to beat all C++ static constructors.
+
+2004-07-15 Jeff Law <law@redhat.com>
+
+ * loop.c (check_insn_for_givs): Restore check for code labels that was
+ accidentally deleted by a recent checkin.
+
+2004-07-15 Nathan Sidwell <nathan@codesourcery.com>
+
+ * vec.h (VEC_T_truncate): Allow truncation of an empty vector.
+ (VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * print-tree.c (print_node): Fix casts last change.
+
+2004-07-15 Paul Brook <paul@codesourcery.com>
+
+ * dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO
+ to TARGET_UNWIND_INFO.
+ * except.c (output_function_exception_table): Ditto.
+ * except.h: Ditto.
+ * opts.c (decode_options): Ditto.
+ * passes.c (rest_of_handle_final): Ditto.
+ * final.c (final_start_function): Ditto.
+ (final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with
+ target hook.
+ * targhooks.h (default_unwind_emit): Declare.
+ * targhooks.c (default_unwind_emit): New function.
+ * target-def.h: Define and use TARGET_UNWIND_EMIT.
+ * target.h (struct gcc_target): Add unwind_emit.
+ * config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define.
+ * config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO.
+ Remove IA64_UNWIND_EMIT.
+ * doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * print-tree.c (print_node): Handle SSA_NAME.
+
+2004-07-14 James E Wilson <wilson@specifixinc.com>
+
+ PR target/16325
+ * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
+ and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
+
+2004-07-15 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.c (expand_assignment): Reenable bitfield += optimizations.
+ Use alias set 0 for memory, do proper mode calculations and adjust
+ address for memories.
+
+2004-07-14 Per Bothner <per@bothner.com>
+
+ * input.h: If USE_MAPPED_LOCATION, define separate expanded_location
+ structure with extra column field.
+ * tree.c (expand_location): Also fill in column field.
+ * gengtype-lex.l: Ignore expanded_location typedef, sinze gengtype
+ gets confused by the two conditionally-compiled definitions.
+
+2004-07-14 Eric Christopher <echristo@redhat.com>
+
+ * calls.c (expand_call): Fix typo in comment.
+
+2004-07-14 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED
+ comparision of TFmode.
+
+2004-07-14 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ...
+ (alpha_gimplify_va_arg): ... handling here. Use pass_by_reference.
+ * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference.
+ * config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
+ * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
+ * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
+ * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
+ * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
+
+2004-07-14 Mike Stump <mrs@apple.com>
* config/darwin.h (WINT_TYPE): Define to be int to match
- system header files.
+ system header files.
2004-07-14 Bob Wilson <bob.wilson@acm.org>
* tree-data-ref.h: New file.
* tree.c (int_cst_value, tree_fold_gcd): New functions.
* tree.h (int_cst_value, tree_fold_gcd): Declared here.
-
+
2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
PR target/13926
* tree.h (must_pass_in_stack_var_size): Declare.
(must_pass_in_stack_var_size_or_pad): Declare.
* calls.c (must_pass_in_stack_var_size): New.
- (must_pass_in_stack_var_size_or_pad): Rename from
+ (must_pass_in_stack_var_size_or_pad): Rename from
default_must_pass_in_stack.
* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
(TARGET_MUST_PASS_IN_STACK): New.
2004-07-13 Anthony Heading <aheading@jpmorgan.com>
- * configure.ac (gcc_cv_as_offsetable_lo10: Fix a typo.
+ * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
* configure: Rebuilt.
2004-07-13 Richard Sandiford <rsandifo@redhat.com>
(NM_FOR_TARGET): Use $(NM) not nm for native.
* configure.ac: Add AC_CHECK_PROG calls for NM and AR.
* configure: Regenerate.
-
+
2004-07-12 David S. Miller <davem@nuts.davemloft.net>
* config/sparc/sparc.md (ashlsi3): Eliminate const 1
2004-07-12 Devang Patel <dpatel@apple.com>
* doc/invoke.texi (Darwin Options): Document -gused and -gfull.
-
+
2004-07-12 Steve Ellcey <sje@cup.hp.com>
* function.c (expand_function_start): Ensure r_save is in Pmode.
2004-07-12 Sebastian Pop <pop@cri.ensmp.fr>
* cfgloop.h (struct loop): Add nb_iterations field.
- (current_loops): Declare.
+ (current_loops): Declare.
* tree-chrec.c (chrec_not_analyzed_yet,
chrec_dont_know, chrec_known, count_ev_in_wider_type,
chrec_contains_symbols_defined_in_loop): Remove the temporary
- hooks.
+ hooks.
* tree-flow-inline.h (loop_containing_stmt): New function.
* tree-scalar-evolution.c: Add implementation.
* tree-scalar-evolution.h: Add declarations.
PR rtl-optimization/15921
* Makefile.in (global.o): Add recog.h.
-
+
* global.c (recog.h): Add the include-clause.
(bb_info): New member earlyclobber.
(allocate_bb_info, free_bb_info): Initialize/finish the new
New functions.
(calculate_local_reg_bb_info): Calculate value of earlyclobber.
(make_accurate_live_analysis): Modify pavin.
-
+
2004-07-12 Diego Novillo <dnovillo@redhat.com>
* tree-cfg.c (find_taken_edge): Statically compute the truth
2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
- * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and
+ * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and
SIGBUS signal frames, the PSW address points *to* the faulting
instruction, not after it.
2004-07-11 Richard Henderson <rth@redhat.com>
- * expmed.c (init_expmed): Use stack-local structures for
+ * expmed.c (init_expmed): Use stack-local structures for
temporary rtl. Don't recognize shifts.
2004-07-11 Richard Henderson <rth@redhat.com>
(sparc_override_options): Set sparc_costs as appropriate.
(sparc_rtx_costs): Use sparc_costs instead of messy
conditionals.
-
+
2004-07-09 Steven Bosscher <stevenb@suse.de>
* doc/md.texi (Processor pipeline description): Mention that