OSDN Git Service

* config/m68k/m68k.c (m68k_output_function_prologue): Simplify
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5eb0b96..bd9c479 100644 (file)
@@ -1,3 +1,313 @@
+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