X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=2bd5d7d59b06bc0b118a0ca135e08d793ffe8199;hp=3c532898643043ceac1ffaac94e87fee871e5218;hb=2aac53ce24f34bc47c49ae2ad7bb4b8726aeaf69;hpb=8762566c43d5d2a7feeaea8b47bd866391fc523b diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c532898643..2bd5d7d59b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,788 @@ +2004-01-27 Bob Wilson + + * 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 + + * 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 + + * 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 + + * fixinc/fixinc.c (test_test): Initialize res. + (start_flexer): Initialize pz_cmd_save. + +2004-01-27 Zack Weinberg + + * doc/rtl.texi (Arithmetic): Rewrite entries for PLUS, + SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS. + +2004-01-27 Zack Weinberg + + 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 + + * config/arm/arm.c (output_return_instruction): Only restore IP + into SP if frame_pointer_needed. + +2004-01-27 Eric Botcazou + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept + constant addresses in the normal mode. + +2004-01-26 Kaveh R. Ghazi + + * 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 + + * 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 + + * 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 + + * cselib.c (discard_useless_values): Clear out value pointer pointing + to datastructure to be recycled. + +2004-01-25 Jan Hubicka + + * genextract.c (main): Do not output the memset when not checking. + +2004-01-26 Kazu Hirata + + * 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 + + * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add + acute accents for Petur Runolfsson's entry. + +2004-01-26 Kazu Hirata + + * 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 + + * config/rs6000/rs6000.c (rs6000_emit_move): split slow + unaligned load/store into smaller loads and stores. + +2004-01-26 Fariborz Jahanian + + * 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 + + PR middle-end/13779 + * expr.c (emit_group_load): split constant + correctly into register components of PARALLEL insn. + +2004-01-26 Fariborz Jahanian + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * config/mips/mips.c (mips16_optimize_gp): Delete. + (mips_reorg): Don't call it. + +2004-01-26 Michael Hayes + + * 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 + + * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove. + (HAVE_GAS_HIDDEN): Undefine as interim measure. + +2004-01-26 Michael Hayes + + * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct + memory references if TARGET_EXPOSE_LDP nonzero. + +2004-01-26 Michael Hayes + + * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts. + +2004-01-26 Michael Hayes + + * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject + invalid operand combinations. + +2004-01-26 Michael Hayes + + * 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 + + * 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 + + * 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 + + * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref. + +2003-04-25 Chris Demetriou + + * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2, + and MIPS64 have HI/LO interlocks. Update comment. + +2004-01-25 Kazu Hirata + + * 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 + + * 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 + + * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove. + (PROMOTE_FUNCTION_RETURN): Likewise. + +2004-01-25 Kazu Hirata + + * 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 + + PR bootstrap/13853 + * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0. + +2004-01-25 Kazu Hirata + + * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by + using ccr. + +2004-01-25 Kazu Hirata + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * combine.c (recog_for_combine): Avoid allocating unnecesary RTX. + +2004-01-25 Richard Sandiford + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + 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 + + * 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 + + * simplify-rtx.c (simplify_relational_operation): Don't + simplify address == constant into address + -constant == 0. + +2004-01-24 Kazu Hirata + + * gcc.c (process_command): Don't internationalize the + Copyright message. + * mips-tfile.c (main): Likewise. + +2004-01-24 Andreas Tobler + + * cse.c: (cse_cc_succs) Fix comparison warning. + +2004-01-24 Kazu Hirata + + * config/h8300/h8300.md: Remove extraneous USE in expanders. + +2004-01-24 Kazu Hirata + + * 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 + + * 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 + + * cselib.c (remove_useless_values): Do not access discarded values. + +2004-01-24 Joseph S. Myers + + * c-typeck.c (build_conditional_expr): Do not allow non-lvalue + arrays. + +2004-01-23 Kazu Hirata + + * recog.c: Fix a typo in copyright. + +2004-01-23 Andrew Pinski + + * config/rs6000/rs6000.md (call): Fix misappiled patch. + (call_value): Likewise. + +2004-01-23 Richard Henderson + + 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 + + * 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 + + PR target/13674 + * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage + loading into GPR. + +2004-01-23 Jan Hubicka + + * 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 + + 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 + + * 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 + + 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 + + * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was + set to default{32,64}. + +2004-01-21 Jakub Jelinek + + * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR) + [!__powerpc64__]: Corrected to handle kernels with changed ucontext. + +2004-01-23 Eric Botcazou + Olivier Hainque + + * 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 + + * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode + size for minipool references. + +2004-01-23 Roger Sayle + + * 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 + + 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 + + * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets. + +2004-01-23 J"orn Rennecke + + * 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 + + * 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 + + * 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 + + * config/pa/fptr.c: Fix old-style definition. + 2004-01-22 Paolo Bonzini PR optimization/13724 @@ -56,7 +841,7 @@ 2004-01-22 Daniel Jacobowitz * 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. @@ -137,7 +922,7 @@ 2004-01-21 Andrew Pinski 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 @@ -154,7 +939,7 @@ 2004-01-21 Caroline Tice 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. @@ -167,7 +952,7 @@ (fix_truncdfhi2): Likewise. (fix_truncsfhi2): Likewise. (*fix_trunchi_1): Likewise. - + 2004-01-21 Kazu Hirata * alias.c, basic-block.h, c-common.c, c-common.h, @@ -2220,3 +3005,4 @@ * invoke.texi (-O1): Document change. See ChangeLog.10 for earlier changes. +