OSDN Git Service

* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7217aec..2bd5d7d 100644 (file)
@@ -1,3 +1,354 @@
+2004-01-27  Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
+       on CQImode and CHImode incoming arguments in register a7.
+       (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
+       * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
+       * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
+       xtensa_copy_incoming_a7 before reload.
+       
+2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * coverage.c (get_coverage_counts): Give a different message
+       if flag_guess_branch_prob is set.
+       * predict.c (counts_to_freqs): Return an int.
+       (estimate_bb_frequencies): If counts_to_freqs returns zero,
+       calculate estimates.
+
+2004-01-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/iq2000/iq2000-protos.h: Remove the prototype for
+       iq2000_setup_incoming_varargs.
+       * config/iq2000/iq2000.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.
+       (iq2000_return_in_memory): Likewise.
+       (iq2000_setup_incoming_varargs): Make it static.  Receive the
+       first argument by reference.
+       * config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
+       (PROMOTE_FUNCTION_RETURN): Likewise.
+       (PROMOTE_PROTOTYPES): Likewise.
+       (RETURN_IN_MEMORY): Likewise.
+       (STRUCT_VALUE): Likewise.
+       (SETUP_INCOMING_VARARGS): Likewise.
+       (STRICT_ARGUMENT_NAMING): Likewise.
+
+2004-01-24  James A. Morrison  <ja2morri@uwaterloo.ca>
+
+        * fixinc/fixinc.c (test_test): Initialize res.
+       (start_flexer): Initialize pz_cmd_save.
+
+2004-01-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
+       SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
+
+2004-01-27  Zack Weinberg  <zack@codesourcery.com>
+
+       PR 7198
+       * config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
+       (*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
+       (*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
+       Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
+       Possibly rename pattern for consistency.
+       Remove ??? comments suggesting that this be done.
+       (*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
+       New patterns.
+       (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
+       (divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
+       (divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
+       (divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
+       Update to match.
+
+2004-01-27  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * config/arm/arm.c (output_return_instruction): Only restore IP
+       into SP if frame_pointer_needed.
+
+2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
+       for SCmode and DCmode if ARCH32.
+       (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
+       * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
+       if ARCH32.
+       (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
+       if ARCH32.
+       (BASE_OUTGOING_VALUE_REG): Likewise.
+
+2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/10904
+       PR target/13058
+       * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
+       Forbid mode changes from SImode for lower FP regs if ARCH64.
+
+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.
@@ -8,9 +359,9 @@
        (PROMOTE_PROTOTYPES): Remove.
 
 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
-        * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS):  Handle symref.
+
+       * 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,
 
 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.
+       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>