OSDN Git Service

* Makefile.in (bt-load.o): Depend on except.h.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 99f3135..1e5bfa2 100644 (file)
@@ -1,3 +1,670 @@
+2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * Makefile.in (bt-load.o): Depend on except.h.
+       * bt-load.c (except.h): #include.
+       (compute_defs_uses_and_gen): If insn at end of BB can throw
+       within this function, consider registers used by it unavailable for
+       btr migration.
+       (move_btr_def): If insn at end of BB can throw, insert before rather
+       than after.
+
+       * flags.h (flag_btr_bb_exclusive): Declare.
+       * toplev.c (flag_btr_bb_exclusive): New variable.
+       (f_options): Add btr-bb-exclusive.
+       * bt-load.c (augment_live_range): Restore old behaviour if
+       flag_btr_bb_exclusive is set.
+       * common.opt: Add entry for -fbtr-bb-exclusive.
+       * opts.c (common_handle_options): Same.
+       * doc/invoke.texi: Document -fbtr-bb-exclusive.
+   
+       * bt-load.c (btrs_live_at_end): New variable.
+       (compute_defs_uses_and_gen): Compute its pointed-to array.
+       (clear_btr_from_live_range, add_btr_to_live_range): Update it.
+       (augment_live_range): When augmenting with a new dominator,
+       use only its btrs_live_at_end set, but also add in the full set
+       of the old dominator.
+       (btr_def_live_range): Use btrs_live_at_end.
+       (move_btr_def): Set other_btr_uses_before_def, and move new set
+       to the end of the basic block, if appropriate.
+       (migrate_btr_defs): Allocate and free btrs_live_at_end.
+   
+       * bt-load.c (basic_block_freq): Remove outdated comment.
+
+2004-01-27  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.h: Correct target_flags free bits comment.
+       (PREDICATE_CODES): Remove duplicate.
+       * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
+       (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
+       (MASK_PROFILE_KERNEL): Adjust define.
+
+2004-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
+       of long string literals from 32 bytes to sizeof (void *) when !-Os
+       and to 1 with -Os.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
+       constant addresses in the normal mode.
+
+2004-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h (CHAR_BITFIELD): Delete.
+       (BOOL_BITFIELD): New.
+       * c-decl.c (c_scope): Use BOOL_BITFIELD.
+       * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+       (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+       (TARGET_PROMOTE_PROTOTYPES): Likewise.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (arc_return_in_memory): Likewise.
+       * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
+       (PROMOTE_FUNCTION_RETURN): Likewise.
+       (RETURN_IN_MEMORY): Likewise.
+       (STRUCT_VALUE): Likewise.
+
+2004-01-26  Richard Henderson  <rth@redhat.com>
+
+       * c-parse.in (extension): Use itype.
+       (SAVE_EXT_FLAGS): Don't allocate a tree.
+       (RESTORE_EXT_FLAGS): Don't read a tree.
+
+2004-01-26  Jan Hubicka  <jh@suse.cz>
+
+       * cselib.c (discard_useless_values):  Clear out value pointer pointing
+       to datastructure to be recycled.
+
+2004-01-25  Jan Hubicka  <jh@suse.cz>
+
+       * genextract.c (main): Do not output the memset when not checking.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
+       switch statement instead of a chain of if statements.
+
+2004-01-26  Jeff Law  <law@redhat.com>
+
+       * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry.  Add
+       acute accents for Petur Runolfsson's entry.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       * config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
+       (RETURN_IN_MEMORY): Likewise.
+
+2004-01-26  Fariborz Jahanian <fjahanian@apple.com>
+
+         * config/rs6000/rs6000.c (rs6000_emit_move): split slow
+         unaligned load/store into smaller loads and stores.
+
+2004-01-26  Fariborz Jahanian <fjahanian@apple.com>
+
+        * function.c (assign_parms): Do not assign
+        long long argument to memory in prologue if
+        is it loaded into register.
+
+2004-01-26  Fariborz Jahanian <fjahanian@apple.com>
+
+        PR middle-end/13779
+         * expr.c (emit_group_load): split constant
+         correctly into register components of PARALLEL insn.
+
+2004-01-26  Fariborz Jahanian <fjahanian@apple.com>
+
+       * gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
+       Use adjust_address_nv directly with appropriate mode.
+       (restore_stack_nonlocal): Ditto.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/xtensa/xtensa-protos.h: Remove the prototype for
+       xtensa_builtin_saveregs.
+       * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+       (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+       (TARGET_PROMOTE_PROTOTYPES): Likewise.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+       (xtensa_builtin_saveregs): Make it static.
+       (xtensa_return_in_memory): New.
+       * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
+       (PROMOTE_FUNCTION_RETURN): Likewise.
+       (PROMOTE_PROTOTYPES): Likewise.
+       (STRUCT_VALUE): Likewise.
+       (RETURN_IN_MEMORY): Likewise.
+       (EXPAND_BUILTIN_SAVEREGS): Likewise.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
+       (arm_setup_incoming_varargs): Likewise.
+       * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
+       (cris_setup_incoming_varargs): Likewise.
+       * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
+       (ns32k_struct_value_rtx): Likewise.
+       * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
+       NS32K_STRUCT_VALUE_REGNUM.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+       (TARGET_PROMOTE_PROTOTYPES): Likewise.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (arm_struct_value_rtx): Likewise.
+       * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
+       (STRUCT_VALUE): Likewise.
+       (STRUCT_VALUE_REGNUM): Likewise.
+       (PROMOTE_PROTOTYPES): Likewise.
+
+2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/ia64/ia64-protos.h: Remove the prototype for
+       ia64_setup_incoming_varargs and ia64_return_in_memory.
+       * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (TARGET_SETUP_INCOMING_VARARGS): Likewise.
+       (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+       (ia64_setup_incoming_varargs): Adjust the arguments to meet
+       the requirement of TARGET_SETUP_INCOMING_VARARGS.
+       (ia64_return_in_memory): Make it static.  Change the return
+       type to bool from int.  Add an argument.
+       (ia64_struct_value_rtx): New.
+       * config/ia64/ia64.h: Remove commented-out definitions of
+       PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
+       PROMOTE_PROTOTYPES.
+       (RETURN_IN_MEMORY): Remove.
+       (STRUCT_VALUE_REGNUM): Likewise.
+       (STRICT_ARGUMENT_NAMING): Likewise.
+
+2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/13666
+       * config/sparc/sparc.c (function_arg_union_value): New function.
+       (function_arg): Use it to deal with unions.
+       (function_value): Likewise.  Define 'regbase' only for ARCH64.
+       Replace a conditional statement by a simpler one.
+
+2004-01-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips16_optimize_gp): Delete.
+       (mips_reorg): Don't call it.
+
+2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
+       (floatunsqihf2): Remove operand 6.
+       (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
+       fix patterns.
+       (ldi_conditional, ldf_conditional): Validate operands.
+
+2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
+       (HAVE_GAS_HIDDEN): Undefine as interim measure.
+       
+2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_legitimate_address_p):  Invalidate direct
+       memory references if TARGET_EXPOSE_LDP nonzero.
+
+2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
+       
+2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
+       invalid operand combinations.
+
+2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_check_legit_addr): Rename to
+       c4x_legitimate_address_p.  Fix post_modify check.
+
+       * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
+       * config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
+       
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/pa/pa-protos.h: Remove the prototype for
+       hppa_builtin_saveregs.  Add a prototype for
+       pa_return_in_memory.
+       * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
+       (TARGET_PROMOTE_PROTOTYPES): Likewise.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+       (pa_struct_value_rtx): Likewise.
+       (pa_return_in_memory): Likewise.
+       * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
+       PA_STRUCT_VALUE_REGNUM.
+       (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
+       (EXPAND_BUILTIN_SAVEREGS): Remove.
+       (PROMOTE_PROTOTYPES): Likewise.
+       (PROMOTE_FUNCTION_RETURN): Likewise.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (vax_struct_value_rtx): Likewise.
+       * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
+       VAX_STRUCT_VALUE_REGNUM.
+       (PROMOTE_PROTOTYPES): Remove.
+
+2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+       
+        * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS):  Handle symref.
+2003-04-25  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
+       and MIPS64 have HI/LO interlocks.  Update comment.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/stormy16/stormy16-protos.h: Remove the prototype for
+       xstormy16_setup_incoming_varargs.
+       * config/stormy16/stormy16.c
+       (xstormy16_setup_incoming_varargs): Remove.
+       (xstormy16_return_in_memory): New.
+       (TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
+       (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+       (TARGET_PROMOTE_PROTOTYPES): Likewise.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
+       (PROMOTE_FUNCTION_RETURN): Likewise
+       (PROMOTE_PROTOTYPES): Likewise
+       (RETURN_IN_MEMORY): Likewise
+       (STRUCT_VALUE): Likewise
+       (SETUP_INCOMING_VARARGS): Likewise
+
+2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_offset_within_object_p): New function.
+       (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
+       SYMBOL_CONSTANT_POOL cases.  Also use it for SYMBOL_GENERAL if the
+       ABI has 64-bit pointers and the object file only allows 32-bit symbols.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
+       (PROMOTE_FUNCTION_RETURN): Likewise.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/mn10300/mn10300-protos.h: Remove the prototype for
+       mn10300_builtin_saveregs.
+       * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+       (mn10300_return_in_memory): Likewise.
+       (mn10300_builtin_saveregs): Make it static.
+       * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
+       (RETURN_IN_MEMORY): Likewise.
+       (STRUCT_VALUE): Likewise.
+       (EXPAND_BUILTIN_SAVEREGS): Likewise.
+
+2004-01-25  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       PR bootstrap/13853
+       * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
+       using ccr.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/i860/i860-protos.h: Remove the prototype for
+       i860_saveregs.
+       * config/i860/i860.c (i860_saveregs): Make it static.
+       (i860_struct_value_rtx): New.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+       * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
+       I860_STRUCT_VALUE_REGNUM.
+       (EXPAND_BUILTIN_SAVEREGS): Remove.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (m68hc11_struct_value_rtx): Likewise.
+       (m68hc11_return_in_memory): Likewise.
+       * config/m68hc11/m68hc11.h: Remove a commented-out definition
+       of PROMOTE_PROTOTYPES.
+       (RETURN_IN_MEMORY): Remove.
+       (STRUCT_VALUE_REGNUM): Likewise.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/mmix/mmix-protos.h: Remove the prototype for
+       mmix_setup_incoming_varargs.
+       * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_SETUP_INCOMING_VARARGS): Likewise.
+       (mmix_setup_incoming_varargs): Make it static.
+       (mmix_struct_value_rtx): New.
+       * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
+       Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
+       (STRUCT_VALUE_REGNUM): Remove.
+       (SETUP_INCOMING_VARARGS): Likewise.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/mips/mips-protos.h: Remove the prototypes for
+       mips_setup_incoming_varargs and mips_return_in_memory.
+       * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+       (TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+       (TARGET_PROMOTE_PROTOTYPES): Likewise.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (TARGET_SETUP_INCOMING_VARARGS): Likewise.
+       (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+       (mips_setup_incoming_varargs): Match the prototype for
+       TARGET_SETUP_INCOMING_VARARGS.
+       (mips_return_in_memory): Make it static.  Add argument fntype.
+       (mips_strict_argument_naming): New.
+       * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
+       (PROMOTE_FUNCTION_ARGS): Likewise.
+       (PROMOTE_FUNCTION_RETURN): Likewise.
+       (STRUCT_VALUE): Likewise.
+       (RETURN_IN_MEMORY): Likewise.
+       (SETUP_INCOMING_VARARGS): Likewise.
+       (STRICT_ARGUMENT_NAMING): Likewise.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (TARGET_SETUP_INCOMING_VARARGS): Likewise.
+       (ip2k_return_in_memory): Likewise.
+       (ip2k_setup_incoming_varargs): Likewise.
+       * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
+       (STRUCT_VALUE): Likewise.
+       (STRUCT_VALUE_INCOMING): Likewise.
+       (SETUP_INCOMING_VARARGS): Likewise.
+
+2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
+       (TARGET_RETURN_IN_MEMORY): Likewise.
+       (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+       (avr_return_in_memory): Remove.
+       * config/avr/avr.h (RETURN_IN_MEMORY): Remove.
+       (STRUCT_VALUE): Likewise.
+       (STRUCT_VALUE_INCOMING): Likewise.
+       (STRICT_ARGUMENT_NAMING): Likewise.
+
+2004-01-25  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
+
+2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
+       (mips_regno_mode_ok_for_base_p): Declare.
+       * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
+       (FRAME_POINTER_REGNUM): Renumber to 78.
+       (FIRST_PSEUDO_REGISTER): Update comment accordingly.
+       (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
+       (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
+       (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
+       (REG_MODE_OK_FOR_BASE_P): Likewise.
+       * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
+       entry for 77 to "$arg" and entry for 78 to "$frame".
+       (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
+       (mips_reg_mode_ok_for_base_p): Remove.
+       (mips_regno_mode_ok_for_base_p): New function, derived from old
+       BASE_REG_P macro.  Don't enforce the mips16 stack pointer
+       restrictions unless we're being strict.
+       (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
+
+2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.h: Fix comment typos.
+       * c-decl.c: Likewise.
+       * cgraphunit.c: Likewise.
+       * combine.c: Likewise.
+       * et-forest.c: Likewise.
+       * flow.c: Likewise.
+       * function.c: Likewise.
+       * ifcvt.c: Likewise.
+       * integrate.c: Likewise.
+       * jump.c: Likewise.
+       * postreload.c: Likewise.
+       * varray.c: Likewise.
+
+2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/frontends.texi: Update copyright.
+       * doc/gcov.texi: Likewise.
+       * doc/gty.texi: Likewise.
+       * doc/sourcebuild.texi: Likewise.
+       * doc/standards.texi: Likewise.
+
+2004-01-24  Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
+
+       PR target/12978
+       * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
+       Remove movstrqi_small because it conflicts with movstrqi_large.
+
+2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+       (TARGET_STRUCT_VALUE_RTX): Likewise.
+       (cris_struct_value_rtx): Likewise.
+       * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
+       (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
+       STRUCT_VALUE_REGNUM.
+       (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
+
+2004-01-24  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       PR bootstrap/13848
+       * cse.c (cse_cc_succs): Change the mode of the source expression
+       as soon as decide we need a new mode.  Don't permit changing modes
+       if we found a match in a successor block.
+       (cse_condition_code_reg): Save original mode of source expression
+       so that we know whether we have to change the mode in other
+       insns.
+
+2004-01-24  Jan Hubicka  <jh@suse.cz>
+
+       * emit-rtl.c (change_address, adjust_address_1, offset_address,
+       widen_memory_access):  Return early when there is nothing to change.
+
+2004-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * simplify-rtx.c (simplify_relational_operation): Don't
+       simplify address == constant into address + -constant == 0.
+
+2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gcc.c (process_command): Don't internationalize the
+       Copyright message.
+       * mips-tfile.c (main): Likewise.
+
+2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * cse.c: (cse_cc_succs) Fix comparison warning.
+
+2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md: Remove extraneous USE in expanders.
+
+2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Provide prototypes for
+       h8300_legitimate_constant_p and h8300_legitimate_address_p.
+       * config/h8300/h8300.c (h8300_legitimate_constant_p): New.
+       (h8300_rtx_ok_for_base_p): Likewise.
+       (h8300_legitimate_address_p): Likewise.
+       * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
+       h8300_legitimate_constant_p.
+       (RTX_OK_FOR_BASE_P): Remove.
+       (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
+
+2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
+       (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
+       (REG_OK_FOR_INDEX_STRICT_P): Likewise.
+       (REG_OK_FOR_BASE_STRICT_P): Likewise.
+       (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
+       (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
+       (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
+       (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
+
+2004-01-24  Jan Hubicka  <jh@suse.cz>
+
+       * cselib.c (remove_useless_values):  Do not access discarded values.
+
+2004-01-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (build_conditional_expr): Do not allow non-lvalue
+       arrays.
+
+2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * recog.c: Fix a typo in copyright.
+
+2004-01-23  Andrew Pinski  <apinski@apple.com>
+
+       * config/rs6000/rs6000.md (call): Fix misappiled patch.
+       (call_value): Likewise.
+
+2004-01-23  Richard Henderson  <rth@redhat.com>
+
+        PR opt/12941
+        * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
+        (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
+        if SHIFT_COUNT_TRUNCATED is set.
+
+2004-01-23  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
+       separate real and imaginary parts.
+       * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
+
+2004-01-23  Hartmut Penner <hpenner@de.ibm.com>
+
+       PR target/13674
+       * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
+       loading into GPR.
+
+2004-01-23  Jan Hubicka  <jh@suse.cz>
+
+       * emit-rtl.c (change_address_1):  Do not re-generate the RTX if nothing
+       change.
+
+       * alloc-pool.c (align_four): Kill.
+       (create_alloc_pool): Align size to eight.
+       (free_alloc_pool, free_pool): Invalidate deallocated data.
+
+2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       PR gcc/1532
+       * cse.c (cse_change_cc_mode): New static function.
+       (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
+       (cse_condition_code_reg): New function.
+       * rtl.h (cse_condition_code_reg): Declare.
+       * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
+       * target.h (struct gcc_target): Add fixed_condition_code_regs and
+       cc_modes_compatible.
+       * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+       (TARGET_CC_MODES_COMPATIBLE): Define.
+       (TARGET_INITIALIZER): Add new initializers.
+       * targhooks.c (default_cc_modes_compatible): New function.
+       * targhooks.c (default_cc_modes_compatible): Declare.
+       * hooks.c (hook_bool_intp_intp_false): New function.
+       * hooks.h (hook_bool_intp_intp_false): Declare.
+       * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+       (TARGET_CC_MODES_COMPATIBLE): Define.
+       (ix86_fixed_condition_code_regs): New static function.
+       (ix86_cc_modes_compatible): Likewise.
+       * doc/tm.texi (Condition Code): Document new hooks.
+
+2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (bad_lval): Renamed to ...
+       (alpha_bad_lval): ... this.
+       Removed file list.
+       Restrict to alpha*-dec-osf*.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/dirent.h: Remove, moving test ...
+       * fixinc/tests/base/testing.h: ... here, reflecting new name.
+
+2004-01-23  Zack Weinberg  <zack@codesourcery.com>
+
+       PR c/13814
+       * c-decl.c (diagnose_mismatched_decls): Also discard a
+       built-in if we encounter an old-style definition with the
+       same name.
+
+2004-01-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
+       set to default{32,64}.
+
+2004-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
+       [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
+
+2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
+           Olivier Hainque  <hainque@act-europe.fr>
+
+       * fold-const.c (fold_binary_op_with_conditional_arg): Only
+       build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
+
+2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
+       size for minipool references.
+
+2004-01-23  Roger Sayle  <roger@eyesopen.com>
+
+       * real.c (real_floor, real_ceil): Tweak to allow input and output
+       arguments to overlap.
+       (real_round): New function to implement round(3m) semantics.
+       * real.h (real_round): Prototype here.
+       * builtins.c (fold_builtin_round): New function to constant fold
+       round, roundf and roundl.
+       (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
+
+2004-01-23  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR optimization/13819
+       * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
+       introduced by 2004-01-20's Jan Hubicka's copy_insn change.
+       (sh_handle_sp_switch_attribute): Remove warning.
+
+2003-11-30  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_emit_restore_regs_using_mov):  Deal with large offsets.
+
 2004-01-23  J"orn Rennecke <joern.rennecke@superh.com>
 
        * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
 
        * config/arm/arm.c: Include "debug.h".
-       (thumb_pushpop): Take two new arguments.  Add some commentary. 
+       (thumb_pushpop): Take two new arguments.  Add some commentary.
        Output frame information when pushing.
        (thumb_exit, thumb_unexpanded_epilogue): Update calls to
        thumb_pushpop.
 2004-01-21  Andrew Pinski  <apinski@apple.com>
 
        PR target/13785
-       * config/rs6000/rs6000.md (call_value): Force operand 
+       * config/rs6000/rs6000.md (call_value): Force operand
        1 not operand 0 into a register.
 
 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
 2004-01-21  Caroline Tice <ctice@apple.com>
 
        PR target/12308
-       * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber 
+       * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
        flags register.
        (fix_truncdfdi2): Likewise.
        (fix_truncsfdi2): Likewise.
        (fix_truncdfhi2): Likewise.
        (fix_truncsfhi2): Likewise.
        (*fix_trunchi_1): Likewise.
-       
+
 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
 
        * alias.c, basic-block.h, c-common.c, c-common.h,