OSDN Git Service

* Makefile.in (bt-load.o): Depend on except.h.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5a19971..1e5bfa2 100644 (file)
@@ -1,3 +1,819 @@
+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
+       may or may not return non-NIL.
+       * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
+       check CANNOT_CHANGE_MODE_CLASS
+
+2004-01-23  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (PROP_POSTRELOAD): New macro.
+       (CLEANUP_LOG_LINKS): New.
+       * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
+       * toplev.c (rest_of_handle_life):  Preserve LOG_LINKS trought cleanup_cfg.
+
+       * cselib.c (value_pool): New.
+       (new_cselib_val): Use pool.
+       (cselib_init): Initialize value_pool
+       (cselib_finish): Free pool.
+
+2004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (scan_record_type): New function.
+       (function_arg_slotno): Use it to determine which kinds of
+       registers the record can be passed in.
+
+2004-01-22  James A. Mmorrison  <ja2morri@uwaterloo.ca>
+
+       * config/pa/fptr.c: Fix old-style definition.
+
+2004-01-22  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR optimization/13724
+       * cse.c (fold_rtx) <SUBREG>:  Fold a SUBREG to zero if it
+       represents the zero bits produced by a ZERO_EXTEND operation.
+
+2004-01-22  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/13821
+       * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
+       correctly calculate the lowpart offset of the contracted subreg.
+
+2004-01-22  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * doc/invoke.texi (Optimize Options): Note that --param arguments
+       are subject to change without notice.
+
+2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config.gcc (mips-sgi-irix6*o32): Removed.
+       * config/mips/iris6-o32-as.h: Likewise.
+       * config/mips/iris6-o32-gas.h: Likewise.
+       * config/mips/iris6-o32.h: Likewise.
+
+2004-01-22  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (first_pass): New static variable.
+       (try_forward_edges):  Add work limiting check for threading.
+       (try_crossjump_bb):  Add work limiting check for crossjumping.
+       (try_optimize_cfg):  Maintain first pass variable.
+
+2004-01-22  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
+       handles complex and vector modes.
+
+2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
+       (REG_OK_FOR_BASE_P_STRICT): Likewise.
+       (STRICT): Likewise.
+
+2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
+
+       * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
+       (genrtl_for_stmt): Remove emit_nop calls.
+
+2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/13713
+       PR target/13324
+       * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
+       movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
+       clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
+
+2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config/arm/arm.c: Include "debug.h".
+       (thumb_pushpop): Take two new arguments.  Add some commentary.
+       Output frame information when pushing.
+       (thumb_exit, thumb_unexpanded_epilogue): Update calls to
+       thumb_pushpop.
+       (thumb_output_function_prologue): Likewise.  Accumulate a CFA
+       offset, and pass it to thumb_pushpop.  Output CFI information.
+       (thumb_expand_prologue): Add some frame-related markers and notes.
+
+2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_frame_info): Allow large frame sizes
+       for TARGET_64BIT.
+       (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
+       * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
+
+2004-01-22  Roger Sayle  <roger@eyesopen.com>
+           Paolo Bonzini  <bonzini@gnu.org>
+
+       * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
+       (subreg_lsb): Change to call new subreg_lsb_1 helper function.
+       * rtl.h (subreg_lsb_1): Prototype here.
+       * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
+       sign extensions.
+
+2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
+       macro need not be defined if jump-tables should contain
+       relative addresses only when -fPIC or -fPIC is in effect.
+
+2004-01-22  Jan Hubicka  <jh@suse.cz>
+
+       * alias.c (reg_base_value): Turn into varray.
+       (reg_base_value_size): Kill.
+       (old_reg_base_value): New deletable varray.
+       (alias_invariant_size): New variable.
+       (REG_BASE_VALUE): Update to use varray.
+       (find_base_value): Likewise.
+       (record_set): Likewise.
+       (record_base_value): Likewise.
+       (memrefs_conflict_p): Likewise.
+       (record_set): Likewise
+       (record_base_value): Likewise.
+       (memrefs_conflict_p): Use alias_invariant_size.
+       (init_alias_analysis): Use varray; set alias_invariant_size;
+       rescale other arrays to be sized by maxreg.
+       (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
+
+2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_slotno): Use
+       FLOAT_TYPE_P to detect FP fields in structures.
+       (function_arg_record_value_1): Likewise.
+       (function_arg_record_value_2): Likewise.
+
+2004-01-22  Jan Hubicka  <jh@suse.cz>
+
+       * function.c (allocate_struct_function): Do not initialize expr, emit
+       and varasm.
+       (prepare_function_start): Do it here.
+       * c-parse.in (maybe_type_qual): Do not produce line number notes.
+
 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR target/13559
 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,
        * invoke.texi (-O1): Document change.
 
 See ChangeLog.10 for earlier changes.
+