OSDN Git Service

PR target/11014
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2c57303..d30b4db 100644 (file)
@@ -1,3 +1,374 @@
+2003-06-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-format.c (check_format_string, get_constant)
+       * cfgrtl.c (rtl_split_edge):
+       Mark the definition static, matching the forward declaration.
+
+2003-06-27  Gunther Nikl <gni@gecko.de>
+
+       * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
+
+       PR target/11014
+       * config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
+       syntax for MIT / MOTOROLA.
+
+2003-06-27  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.c (mips_build_va_list): Make padding in
+       va_list structure explicit to avoid -Wpadded warnings.
+
+2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
+       * config/s390/s390.c (s390_secondary_output_reload_class): New function.
+       * config/s390/s390-protos.h (s390_secondary_output_reload_class):
+       Declare it.
+       * config/s390/s390.md ("reload_outti", "reload_outdi",
+       "reload_outdf"): New expanders.
+
+       * config/s390/s390.md ("movti" + splitters): Handle non-offsettable
+       memory operands as source.
+       ("movdi" + splitters): Likewise.
+       ("movdf" + splitters): Likewise.
+       * config/s390/s390.c (s390_split_ok_p): New function.
+       * config/s390/s390-protos.h (s390_split_ok_p): Declare it.
+
+2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * combine.c (force_to_mode): Replace the equality comparison
+       of INTVALs with a pointer equality comparison.
+       (simplify_comparison): Likewise.
+
+2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * jump.c (rtx_renumbered_equal_p): Replace an expression that
+       is known to be 0 with 0.
+
+2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gcse.c (expr_equiv_p): Replace expressions that are known to
+       be 0 with 0.
+
+2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (fold_rtx): Replace the equality comparison of INTVALs
+       with a pointer equality comparison.
+
+2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
+       are known to be not equivalent.
+
+2003-06-27  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (function_arg): Don't pass small aggregates
+       in floating point registers.  Validate that we don't receive complex
+       values here.  Use #elif.
+       (return_in_memory, function_value): New.
+       (alpha_va_arg): Handle complex values as two arguments.
+       * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
+       (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
+       (SPLIT_COMPLEX_ARGS): New.
+       * config/alpha/alpha-protos.h: Update.
+
+2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ggc-page.c (inverse_table): Change type of mult to size_t.
+       (compute_inverse): Compute inverse using size_t, not unsigned int.
+       Compute inverse also for sizes larger than half a machine page.
+
+Fri Jun 27 18:36:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (rest_of_decl_compilation):  Only varpoolize argument
+       when called before cgraph_optimize.
+
+2003-06-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
+       * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
+       be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
+
+Fri Jun 27 17:41:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
+       of known_decls.
+
+2003-06-27  Hans-Peter Nilsson  <hp@axis.com>
+
+       * defaults.h (REGISTER_MOVE_COST): Define default here.
+       * regclass.c: Don't define default REGISTER_MOVE_COST here.
+       * reload.c, reload1.c: Ditto.
+
+2003-06-27  Richard Earnshaw <rearnsha@arm.com>
+
+       * flags.h: Really install previous change.
+
+2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * rtl.h (emit_note): Remove FILE parameter.
+       * emit-rtl.c (emit_line_note): Adjust emit_note call.
+       (emit_note): Remove FILE parameter. Adjust.
+       * builtins.c (expand_builtin_expect): Adjust emit_note call.
+       * c-semantics.c (genrtl_scope_stmt): Likewise.
+       (expand_stmt): Likewise.
+       * cfglayout.c (reemit_insn_block_notes): Likewise.
+       (duplicate_insn_chain): Likewise.
+       * except.c (expand_eh_region_start, expand_eh_region_end,
+       sjlj_emit_function_enter): Likewise.
+       * explow.c (probe_stack_range): Likewise.
+       * expr.c (emit_block_move_via_loop): Likewise.
+       * function.c (init_function_start, expand_function_start,
+       expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
+       * integrate.c (expand_inline_function, copy_insn_list): Likewise.
+       * reg-stack.c (compensate_edge): Likewise.
+       * reload1.c (reload): Likewise.
+       * rtlanal.c (hoist_insn_to_edge): Likewise.
+       * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
+       expand_loop_continue_here, expand_end_loop, expand_continue_loop,
+       expand_exit_loop_top_cond, expand_value_return,
+       expand_start_bindings_and_block, expand_end_bindings,
+       expand_decl_cleanup, expand_start_case): Likewise.
+       * unroll.c (copy_loop_body
+       * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
+       * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
+       * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
+       rs6000_emit_allocate_stack, rs6000_output_function_prologue,
+       rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
+       * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+
+2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-tree.h (grokfield): Remove unused filename and line parameters.
+       * c-decl.c (grokfield): Remove unused filename and line parameters.
+       * c-parse.in (component_decl): Adjust field grokking rules, adjust
+       grokfield calls.
+       (component_declarator): Likewise.
+       (component_notype_declarator): Likewise.
+       * objc/objc-act.c (build_module_descriptor): Adjust grokfield
+       calls.
+       (build_protocol_template, build_method_prototype_list_template,
+       build_method_prototype_template, build_category_template,
+       build_selector_template, build_class_template,
+       build_super_template, build_ivar_template,
+       build_ivar_list_template, build_method_list_template,
+       build_method_template, add_instance_variable): Likewise.
+
+2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
+       OP2 are known to be not equivalent.
+
+2003-06-26  Devang Patel <dpatel@apple.com>
+
+       * final.c (debug_flush_symbol_queue): New function.
+       (debug_queue_symbol): New function.
+       (debug_free_queue): New function.
+       (debug_nesting): New variable.
+       (symbol_queue): New variable.
+       (symbol_queue_index): Same.
+       (symbol_queue_size): Same.
+       * debug.h (debug_flush_symbol_queue): New.
+       (debug_queue_symbol): New.
+       (debug_free_queue): New.
+       (debug_nesting): New.
+       (symbol_queue_index): New.
+       * dbxout.c (DBXOUT_DECR_NESTING): New macro.
+       (DBXOUT_DECR_NESTING_AND_RETURN): New macro.
+       (dbxout_init): Delay symbol output.
+       (dbxout_global_decl): Save, set and reset TREE_USED bit around
+       dbxout_symbol() call.
+       (dbxout_begin_function): Same.
+       (dbxout_finish): Free symbol queue.
+       (dbxout_type): Put appropriate symbols in queue.
+       (dbxout_symbol): Put info for symbol's type in queue.
+       Decrement/Increment nesting counts flush symbol queue appropriately.
+       (dbxout_parms): Increment dbxout nesting.
+       (dbxout_reg_parms): Same.
+       * flags.h (flag_debug_only_used_symbols): New.
+       * toplev.c (flag_debug_only_used_symbols): New variable.
+       (lang_independent_options): Add entries for new option
+       -feliminate-unused-debug-symbols.
+       * common.opt: Add entry for -feliminate-unused-debug-symbols.
+       * opts.c (common_handle_options): Same.
+       * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
+       -feliminate-unused-debug-symbols.
+       * doc/invoke.texi (Debugging Options): Document
+       -feliminate-unused-debug-symbols.
+
+2003-06-26  Roger Sayle  <roger@eyesopen.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
+       obtain the format string instead of using TREE_STRING_POINTER and
+       TREE_STRING_LENGTH.  Only optimize sprintf(dst,"%s",src) when the
+       return value is unused or the length of src is a known constant.
+
+2003-06-26  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
+
+2003-06-26  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
+       (ia64_split_call): Only load descriptor for GP register inputs.
+       (ia64_expand_epilogue): Check current_frame_info.mask not
+       current_function_is_leaf to restore ar.pfs.
+
+2003-06-26  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
+       instead of replacing it.
+
+2003-06-26  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (propagate_one_insn): Kill function return value
+       registers across tail calls.
+
+       * flow.c (propagate_one_insn): Preserve live-at-end registers
+       across tail calls.
+
+2003-06-26  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * reload.c (can_reload_into): New function.
+       (push_reload): Use it.
+
+2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (compute_a_rotate_length): Fix the
+       references to the amount of a rotation.
+
+2003-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config/sh/coff.h: Don't include dbxcoff.h.
+       * config.gcc: List it here.
+
+2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * postreload.c (reload_cse_simplify_set): Call cselib_lookup
+       earlier.  Don't check if SRC is a constant.
+
+2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * Makefile.in (OBJS): Add postreload.o.
+       Remove cselib.h from the dependency list for reload1.o.
+       Add a dependency list for postreload.o.
+       * reload.h: Change the comment for the prototype of
+       reload_cse_regs.
+       * reload1.c: Don't include cselib.h.
+       (reload_cse_regs): Move to postreload.c
+       (reload_cse_regs_1): Likewise.
+       (reload_cse_noop_set_p): Likewise.
+       (reload_cse_simplify_set): Likewise.
+       (reload_cse_simplify_operands): Likewise.
+       (RELOAD_COMBINE_MAX_USES): Likewise.
+       (reload_combine_ruid): Likewise.
+       (LABEL_LIVE): Likewise.
+       (reload_combine): Likewise.
+       (reload_combine_note_use): Likewise.
+       (reload_combine_note_store): Likewise.
+       (reg_set_luid): Likewise.
+       (reg_offset): Likewise.
+       (reg_base_reg): Likewise.
+       (reg_mode): Likewise.
+       (move2add_luid): Likewise.
+       (move2add_last_label_luid): Likewise.
+       (MODES_OK_FOR_MOVE2ADD): Likewise.
+       (reload_cse_move2add): Likewise.
+       (move2add_note_store): Likewise.
+       (reload_cse_simplify): Likewise.
+       * postreload.c: New.
+
+2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/avr/avr.c (final_prescan_insn): Remove support for
+       -mrtl.
+       * config/avr/avr.h (MASK_RTL_DUMP): Remove.
+       (TARGET_RTL_DUMP): Likewise.
+       (TARGET_SWITCHES): Remove -mrtl.
+
+2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Change emit_a_rotate to
+       output_a_rotate.  Add a prototype for compute_a_rotate_length.
+       * config/h8300/h8300.c (emit_a_rotate): Change to
+       output_a_rotate.
+       (compute_a_rotate_length): New.
+       (h8300_adjust_insn_length): Remove.
+       * config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
+       * config/h8300/h8300.md (adjust_length): Remove.
+       (*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
+       (*rotlhi3_1): Likewise.
+       (*rotlsi3_1): Likewise.
+
+2003-06-26  Roger Sayle  <roger@eyesopen.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (expand_builtin_mathfn): Always stabilize the argument
+       list against re-evaluation.  If expand_unop fails, call expand_call
+       with the stabilized argument list rather than return NULL_RTX.
+       (expand_builtin_mathfn2): Likewise, always stabilize the argument
+       list, and call expand_call ourselves if expand_binop fails.
+
+2003-06-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/11210
+       * fold-const (decode_field_reference): Strip only NOPs that
+       don't affect the sign.
+
+2003-06-26  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+
+       * gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
+       (pop_fpscr, fpu_switch): Likewise.
+
+2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * value-prof.c: New.
+       * value-prof.h: New.
+       * Makefile.in (value-prof.o): New.
+       (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
+       (profile.o): Add value-prof.h and tree.h dependency.
+       * flags.h (flag_profile_values): Declare.
+       * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
+       Add new counters.
+       (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
+       GCOV_COUNTER_V_DELTA): New counter sections.
+       (__gcov_merge_single, __gcov_merge_delta): Declare.
+       * flow.c (mark_used_regs): Set subregs_of_mode only when the
+       structure is initialized.
+       * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
+       * profile.c: Include value-prof.h and tree.h.
+       (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
+       gen_const_delta_profiler, instrument_values): New static functions.
+       (get_exec_counts): Fix comment.
+       (branch_prob): Invoke instrument_values.
+       * toplev.c (flag_profile_values): New flag.
+       * doc/invoke.texi (-fprofile-values): Document.
+
+2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * Makefile.in (cfgrtl.o): Add expr.h dependency.
+       * cfgrtl.c: Include expr.h.
+       (mark_killed_regs, safe_insert_insn_on_edge): New
+       functions.
+       * config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
+       * basic-block.h (safe_insert_insn_on_edge): Declare.
+
+2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-opts.c (missing_arg): Make non-static.
+       (c_common_handle_option): Don't check for missing arguments.
+       * opts.c (handle_option): Check for missing arguments.
+
+2003-06-26  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/power4.md (power4-veccomplex): Correct latency.
+
+2003-06-25  Loren James Rittle  <ljrittle@acm.org>
+
+       * configure.in (ld_vers): Portability [sed].
+       * configure: Regenerate with autoconf213.
+
 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
 
        * doc/extend.texi: Document new builtin functions for Intel
@@ -98,11 +469,11 @@ Thu Jun 26 00:13:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
 
        * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
        of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
-        Replace occurances of '???' with 'XXX' incase they are
+       Replace occurances of '???' with 'XXX' incase they are
        mistaken for trigraphs.
        (THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
        does not have a register for the first operand.
-        
+
 2003-06-25     Dhananjay Deshpande <dhananjayd@kpitcummins.com>
 
        * config/sh/sh.c (sh_register_move_cost):