OSDN Git Service

* config/m68k/m68k.c (m68k_output_function_prologue): Simplify
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 54d747f..bd9c479 100644 (file)
@@ -1,3 +1,649 @@
+2003-09-08  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
+       by removing redundant variable cfa_store_offset.
+
+2003-09-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * langhooks-def.h (lhd_register_builtin_type): New function.
+       (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
+       * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
+       * langhooks.c (lhd_register_builtin_type): New function.
+       * c-common.h (c_register_builtin_type): Declare.
+       * c-common.c (c_register_builtin_type): New function.
+       * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
+       c_register_builtin_type.
+       * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
+       __float80, and __float128 macros.
+       * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
+       __float80, and __float128 types.
+
+2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-types.def
+       (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
+       BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
+       BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
+       * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
+       BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
+       BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
+       BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
+       BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
+       BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
+       BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
+       BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
+       BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
+       BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
+       BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
+       BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
+       BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
+       BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
+       New.
+       * doc/extend.texi: Document new builtins.
+
+Tue Sep  9 02:18:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
+       finalization.
+       * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
+       functions, check for COMDAT.
+       (cgraph_assemble_pending_functions): Break out from...
+       (cgraph_finalize_function): ... here; allow redefinig of extern inline
+       functions.
+       (record_call_1): Record function references only in non-unit-at-a-time
+       mode.
+       (cgraph_analyze_function): Reset current_function_decl.
+       (cgraph_finalize_compilation_unit):  Assemble pending functions.
+
+2003-09-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * mklibgcc.in (libcc.a): Depend on stmp-dirs.
+       (libgov.a): Likewise.
+       (libgcc_eh.a): Likewise.
+
+2003-09-08  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (operand_equal_p): Clarify documentation.
+
+2003-09-08  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (c_expand_body_1): Push and pop function context here.
+       * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
+       nested argument instead of computing nesting ourselves.
+
+2003-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
+       regstack if optimizing but not scheduling after reload.
+
+2003-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (struct machine_function): New type.
+       (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
+       (sparc_override_options): Initialize init_machine_status.
+       (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
+       tie_symbolic_operand, tle_symbolic_operand): New functions.
+       (symbolic_operand): Disallow tls_symbolic_operand.
+       (symbolic_memory_operand): Likewise.
+       (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
+       constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
+       New functions.
+       (sparc_tls_symbol): New variable.
+       (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
+       legitimize_address): New functions.
+       (print_operand): Handle %&.
+       (sparc_init_machine_status, get_some_local_dynamic_name,
+       get_some_local_dynamic_name_1): New functions.
+       (sparc_output_dwarf_dtprel): New function.
+       * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
+       constant_address_p.
+       (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
+       (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
+       (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
+       (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
+       (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
+       (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
+       (ASM_OUTPUT_DWARF_DTPREL): Define.
+       (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
+       tie_symbolic_operand, tle_symbolic_operand.
+       * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
+       UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
+       (tls_call_delay): New attribute.
+       (in_call_delay): Use it.
+       (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
+       (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
+       tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
+       tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
+       tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
+       tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
+       (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
+       tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
+       tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
+       tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
+       tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
+       tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
+       tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
+       tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
+       insns.
+       * config/sparc/sparc-protos.h (legitimate_constant_p,
+       constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
+       legitimize_tls_address, legitimize_address, tls_symbolic_operand,
+       tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
+       * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
+       * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
+       * configure.in (sparc*-*-*): Add TLS check.
+       * configure: Rebuilt.
+
+2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/11689
+       * config/i386/i386.c (memory_address_length): Fix computation when
+       the base is esp or ebp.
+
+2003-09-07  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/11852
+       * varasm.c (initializer_constant_valid_p): Correct logic for
+       CONSTRUCTORs.
+
+2003-09-07  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (expand_operands): New function to expand an operand pair.
+       (expand_expr): Call expand_operands whenever we need to expand both
+       operands of a binary operator.
+       (do_store_flag): Likewise for operands of comparison operations.
+
+2003-09-07  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
+       (-A)*B if we care about sign-dependent rounding.
+
+2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
+
+       * c-pretty-print.h (pp_c_left_brace): Declare.
+       (pp_c_right_brace): Likewise.
+       * c-pretty-print.c (pp_c_left_brace): Now a function
+       (pp_c_right_brace): Likewise.
+
+Sun Sep  7 14:50:03 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
+
+2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * diagnostic.c (warn_deprecated_use): Move to toplev.c
+
+2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
+       * Makefile.in (langhooks.o): Depend on diagnostic.h
+
+2003-09-06  James E Wilson  <wilson@tuliptree.org>
+
+       * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
+       simplify.
+
+2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
+       and use it throughout.
+       
+2003-09-07  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
+
+       * toplev.c  (rest_of_decl_compilation):  Do not finalize external
+       virables. 
+
+       * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
+       functions.
+       (cgraph_varpool_finalize_decl): Notice global symbol when needed.
+
+2003-09-06  Jan Hubicka  <jh@suse.cz>
+
+       PR target/12070
+       * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
+
+       PR opt/12082
+       * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
+
+2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * diagnostic.c (announce_function): Move to toplev.c.
+
+2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcse.c (expr_equiv_p): Don't consider anything to be equal to
+       volatile mem.
+
+2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
+       when gc checking is enabled.
+
+2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR c/9862
+       * c-decl.c (c_expand_body_1): Move return warning from here...
+       (finish_function): ...to here.
+
+2003-09-05  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
+       a subset of the input class.
+
+2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/i860/i860.c: Follow spelling conventions.
+       * config/i860/i860.h: Likewise.
+       * config/sh/sh.h: Likewise.
+
+2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
+
+       * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
+       * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
+       * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
+
+2003-09-05  Roger Sayle  <roger@eyesopen.com>
+           Richard Henderson  <rth@redhat.com>
+
+       PR optimization/1823
+       * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
+       multiplication to implement division by constant integer.
+
+Fri Sep  5 07:35:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c (decode_options): Enable unit-at-a-time at -O2.
+       * params.def (max-inline-insns-single): Set to 500
+       (max-inline-insns-auto): Set to 150
+       * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
+
+2003-09-04  Richard Henderson  <rth@redhat.com>
+
+       * cgraph.c (cgraph_mark_reachable_node): Split out from ...
+       (cgraph_mark_needed_node): Remove needed argument.
+       * cgraph.h: Update to match.
+       * cgraphunit.c (decide_is_function_needed): Split out from ...
+       (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
+       if we generated the function.
+       (record_call_1): Update for cgraph_mark_reachable_node.
+       * varasm.c (mark_referenced): Likewise.
+       * objc/objc-act.c (mark_referenced_methods): Likewise.
+
+2003-09-04  DJ Delorie  <dj@redhat.com>
+
+       * targhooks.c: Add comment explaining the migration process.
+
+2003-09-04  Eric Christopher  <echristo@redhat.com>
+
+       * config/frv/t-frv: Fix path for frv-abi.h.
+       * config/frv/frv-asm.h: Fix string concatenation.
+
+2003-09-04  DJ Delorie  <dj@redhat.com>
+
+       * builtins.c (apply_args_size): Guard against a NULL cfun.
+       (expand_builtin_apply_args_1): Likewise.
+       (expand_builtin_apply): Likewise.
+       Fixes PR bootstrap/12172.
+
+2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
+       assembler supports Sun syntax for cmov.
+       * configure: Regenerate.
+       * config.in: Likewise.
+       * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
+       HAVE_AS_IX86_CMOV_SUN_SYNTAX.
+       * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
+       Fixes PR target/12101.
+
+2003-09-04  Matt Austern  <austern@apple.com>
+
+       * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
+       with verbosity 0, instead of DECL_NAME, for human-readable string.
+
+2003-09-04  Eric Christopher  <echristo@redhat.com>
+
+       * targhooks.c (default_return_in_memory): Allow
+       unconverted ports.
+
+2003-09-04  Eric Christopher  <echristo@redhat.com>
+
+       * targhooks.c (default_return_in_memory): Fix typo
+       in last checkin.
+
+2003-09-04  Eric Christopher  <echristo@redhat.com>
+
+       * targhooks.c (default_return_in_memory): Fix default
+       definition.
+
+2003-09-04  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
+       deleted function.
+       * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
+       enable coff-only code in m68k.c.
+
+2003-09-04  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
+       v850e1.
+       * config/v850/v850.h: Accept v850e1 as a default CPU.
+       Accept -mv850e1 as a command line option.
+       * doc/invoke.texi: Document new -mv850e1 command line switch.
+       * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
+       -mv850e.
+
+2003-09-04  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
+        * config/v850/t-v850: Only produce one extra multilib - for
+        the v850e.
+        * config/v850/t-v850e: New file: Only produce one extra
+        multilib - for the v850.
+
+2003-09-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
+       * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
+       * unwind.h (_Unwind_GetBSP): New prototype.
+       * libgcc-std.ver: Add empty GCC_3.3.2 version.
+       * mkmap-symver.awk: For symbol versions with no exported symbols,
+       don't put anything into version script, just change all symbol
+       versions which inherit from it to inherit from its ancestor.
+
+2003-09-04  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.c (mips_expand_prologue): Convert to
+       calls.struct_value_rtx hook.
+       (reg_or_const_float_1_operand): New.
+       * config/mips/mips.h: Update Comments.
+       (mips_arg): Add reg_or_const_float_1_operand.
+       * config/mips/mips.md (divdf3); Convert to expander.
+       (divsf3): Ditto.
+       (*divdf3): New pattern.
+       (*divsf3): Ditto.
+
+Thu Sep  4 10:43:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (wrapup_global_declarations): Fix final pass in
+       unit-at-atime mode.
+
+2003-09-04  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/extend.texi: Document removal of cast-as-lvalue extension in
+       C++.
+
+2003-09-04  Nicolas Roche  <roche@act-europe.fr>
+
+       * gcc.c (process_command): Fix typo.
+
+2003-09-03  David O'Brien  <obrien@FreeBSD.org>
+
+       optimization/11980
+       * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
+       (PTRDIFF_TYPE): Likewise.
+       (WCHAR_TYPE_SIZE): Likewise.
+
+2003-09-03  DJ Delorie  <dj@redhat.com>
+
+       * targhooks.c: New file.
+       * targhooks.h: New file.
+       * Makefile.in: Add targhooks.o support.
+       (function.o): Depend on$(TARGET_H).
+       (stmt.o): Likewise.
+       (combine.o): Depend on $(TREE_H) and $(TARGET_H).
+       * builtins.c (apply_args_size, expand_builtin_apply_args_1,
+       expand_builtin_apply): Convert to calls.struct_value_rtx hook.
+       (expand_builtin_saveregs): Convert to
+       calls.expand_builtin_saveregs hook.
+       * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
+       here, instead of ...
+       (get_parm_info) ... here.
+       (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
+       hook.
+       (finish_function): Handle calls.promote_prototypes hook here too.
+       * c-typeck.c (convert_arguments): Convert to
+       calls.promote_prototypes hook.
+       (c_convert_parm_for_inlining): Likewise.
+       * calls.c (initialize_argument_information): Convert to
+       calls.promote_function_args hook.
+       (expand_call): Convert to calls.struct_value_rtx,
+       calls.strict_argument_naming,
+       calls.pretend_outgoing_varargs_named, and
+       calls.promote_function_return hooks.  Pass fndecl to
+       aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
+       hooks, so they can use that.
+       (emit_library_call_value_1): Likewise.
+       * combine.c (setup_incoming_promotions): Convert to
+       calls.promote_function_args hook.
+       * emit-rtl.c: Convert to calls.struct_value_rtx hook.
+       * expr.c (expand_assignment): Pass call to aggregate_value_p.
+       (expand_expr): Likewise.
+       * expr.h: Remove support for SETUP_INCOMING_VARARGS,
+       STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+       RETURN_IN_MEMORY macro defaults.
+       * final.c (profile_function): Convert to calls.struct_value_rtx
+       hook.
+       * function.c (aggregate_value_p): Accept function type tree as
+       second parameter; try to deduce fntype from it.  Convert to
+       calls.return_in_memory hook.
+       (assign_parms): Convert to calls.setup_incoming_varargs,
+       calls.strict_argument_naming, calls.promote_function_args,
+       calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
+       aggregate_value_p.
+       (expand_function_start): Likewise.  Convert to
+       calls.struct_value_rtx hook.
+       (expand_function_end): Convert to calls.promote_function_return hook.
+       (allocate_struct_function): Pass fndecl to aggregate_value_p.
+       * hard-reg-set.h: Update comments to new hook names.
+       * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
+       * reg-stack.c (stack_result): Likewise.
+       * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
+       * stmt.c (expand_value_return): Convert to
+       calls.promote_function_return hook.
+       * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
+       TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+       TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
+       TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
+       TARGET_STRICT_ARGUMENT_NAMING,
+       TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
+       * target.h: Likewise.
+       * tree.h (aggregate_value_p): Also takes a tree to deduce function
+       attributes from (for target hooks).
+       * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
+       PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
+       STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
+       EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
+       STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
+       to hooks.
+
+       * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
+       to aggregate_value_p.
+       * config/arm/arm.c (arm_init_cumulative_args,
+       arm_output_mi_thunk): Likewise.
+       * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
+       Likewise.
+       * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
+       mips_can_use_return_insn): Likewise.
+       * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+       * config/s390/s390.c (s390_output_mi_thunk): Likewise.
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
+       aggregate_value_p.
+       * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
+       function to aggregate_value_p.
+       * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
+       aggregate_value_p.
+
+       * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
+       (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
+       sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
+       (sh_handle_renesas_attribute, sh_promote_prototypes,
+       sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
+       sh_setup_incoming_varargs, sh_strict_argument_naming,
+       sh_pretend_outgoing_varargs_named): New decls.
+       (targetm): Add new hooks.
+       (calc_live_regs): Save MACL and MACH if the function has the
+       renesas attribute.
+       (sh_expand_prologue): Support renesas attribute.
+       (sh_builtin_saveregs): Make static.
+       (sh_build_va_list): Support renesas attribute.
+       (sh_va_start): Likewise.
+       (sh_va_arg): Likewise.
+       (sh_promote_prototypes): New.
+       (sh_function_arg): New, moved from sh.h.  Support renesas
+       attribute.
+       (sh_function_arg_advance): Likewise.
+       (sh_return_in_memory): Likewise.
+       (sh_strict_argument_naming): Likewise.
+       (sh_pretend_outgoing_varargs_named): Likewise.
+       (sh_struct_value_rtx): New.
+       (sh_attribute): Add renesas attribute.
+       (sh_handle_renesas_attribute): New.
+       (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
+       (sh_ms_bitfield_layout_p): Support renesas attribute also.
+       (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
+       config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
+       -mhitachi.
+       (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
+       target hooks.
+       (sh_args): Add renesas_abi flag.
+       (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
+       (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
+       (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
+       stack for the renesas abi.
+       (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+       SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
+       PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
+       call cookie to indicate renesas calls.
+
+2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
+
+       * gcse.c (replace_one_set): New function.
+       (pre_insert_copy_insn): Change the order of copying
+       to make copy propagation discover additional PRE opportunities.
+
+2003-09-03  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/11700.
+       * simplify-rtx.c (simplify_subreg): Check that the subreg offset
+       of a hard register is representable before trying to simplify it
+       using subreg_hard_regno.
+
+2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
+       * configure: Regenerate.
+
+2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * intl.h (N_): Remove parentheses.
+
+2003-09-03  Bernardo Innocenti  <bernie@develer.com>
+
+       * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
+       * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
+       definition and code blocks compiled when not defined.
+       * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
+       * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
+       * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
+       * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
+
+2003-09-03  Jeff Sturm  <jsturm@one-point.com>
+
+       * cgraphunit.c (visited_nodes): New static variable.
+       (record_call_1): Use walk_tree with visited_nodes.
+       (cgraph_create_edges): Use walk_tree with visited_nodes.
+       Setup/teardown visited_nodes hashtable.
+
+2003-09-03  Roger Sayle  <roger@eyesopen.com>
+
+       * toplev.c (flag_rounding_math): New global variable.
+       (f_options): Add to the list of language independent options.
+       * flags.h (flag_rounding_math): Prototype here.
+       (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
+       * common.opt (frounding-math): New common command line option.
+       * opts.c (common_handle_option): Handle OPT_frounding_math.
+       (set_fast_math_flags): -ffast-math clears flag_rounding_math.
+
+       * doc/invoke.texi: Document this new command line option.
+
+2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
+
+Wed Sep  3 16:55:25 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
+       * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
+       * c-objc-common.c: Kill include of gt-c-objc-common.h
+       (expand_deferred_fns, deffer_fn): Kill function.
+       (deferred_fns): Kill variable.
+       (finish_cdtor): Update finish_function call.
+       (c_objc_common_finish_file): Always call cgraph code.
+       * c-parse.c: Regenerate.
+       * c-parse.y: Regenerate.
+       * c-tree.h (finish_function): Update prototype.
+       * objc-acct.c (build_module_descriptor, finish_method_def):
+       Update call of finish_function.
+       * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
+       forward prototype.
+       (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
+       function and assemble it if needed.
+       (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
+       mode.
+       (cgraph_optimize): Likewise.
+       (cgraph_expand_function): In non-unit-at-a-time mode keep function body
+       even when it has no inline callees.
+       * c-parse.in: Update calls to finish_function.
+
+2003-09-03  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
+       Use #error to generate the message if TARGET_DEFAULT is not
+       recognised.
+
+2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (MASK_UNUSED1): Remove.
+       (MASK_XGOT, TARGET_XGOT): Define.
+       (TARGET_SWITCHES): Add an entry for -mxgot.
+       (ASM_SPEC): Map -mxgot to -xgot.
+       * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
+       whether we're using a big-GOT sequences.
+       (mips_legitimize_const_move, mips_expand_call): Likewise.
+       (override_options): Revert 2003-01-09 change.
+       * doc/invoke.texi: Document -mxgot.
+
+2003-09-02  Jason Merrill  <jason@redhat.com>
+
+       * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
+       * config/sparc/sol2.h: Not here.
+
+2003-09-02  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (expand_expr): The code following both_summands performs
+       the same task as simplify_gen_binary.  Replace all gotos to
+       both_summands with a call to simplify_gen_binary and delete the
+       now unused label.
+
+2003-09-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/7327
+       * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2003-09-02  Jeff Sturm  <jsturm@one-point.com>
+
+       * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
+       (cgraph_optimize_function): Set current_function_decl to the
+       fndecl we're integrating from.
+
+2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.def: Break out _Complex math functions into their
+       own category.
+
 2003-09-02  Andreas Jaeger  <aj@suse.de>
 
        * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.