+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.
+