X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=59d2479786463d7b0d858ea59f83386c2b348fa2;hp=a0240875b7fa3f9b8a3ec4681ceb8fbd960e3015;hb=c8a9f9bf2f66b56de7ce884ef251c167dbc0d4aa;hpb=a3af0c0e4bf44af8e5f4b27c50beef65f07ad7ed diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a0240875b7f..59d24797864 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,328 @@ + 2003-01-23 Mike Stump + + * regclass.c (init_reg_autoinc): New function. + (regclass): Move initialization of forbidden_inc_dec_class from + here... + (init_regs): to here. Avoids reinitialization for each function, + saving compilation time. + +2003-01-28 Jason Merrill + + * cpplib.h (struct cpp_options): Add warn_deprecated field. + * cppinit.c (cpp_create_reader): Turn it on by default. + * c-opts.c (c_common_decode_option): Set it. + * cpplib.c (do_pragma_once): Only complain about #pragma once + if warn_deprecated is set. + +2003-01-28 Dale Johannesen + + * emit-rtl.c (const_double_htab_hash): Use mode in the hash. + * loop.c (scan_loop): Move movables on -Os rich-register targets. + * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR. + +2003-01-28 Richard Henderson + + * target.h (targetm.address_cost): New. + * target-def.h (TARGET_ADDRESS_COST): New. + (TARGET_RTX_COSTS): Uncomment. Oops. + * cse.c (address_cost): Use new target hook. + (default_address_cost): New. + * output.h (default_address_cost): Declare. + * hooks.c (hook_int_rtx_0): New. + * hooks.h (hook_int_rtx_0): Declare. + * loop.c (combine_givs_p): Remove if 0 code. + * system.h (ADDRESS_COST): Poison. + + * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c, + config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h, + config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c, + config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h, + config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c, + config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h, + config/xtensa/xtensa.c, config/xtensa/xtensa.h + (TARGET_ADDRESS_COST): Define as hook_int_rtx_0. + (ADDRESS_COST): Remove. + + * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h, + config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h, + config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h, + config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c, + config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h, + config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h, + config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h, + config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h, + config/mips/mips.c, config/mips/mips.h, + config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c, + config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h, + config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h, + config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h, + config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h, + config/vax/vax.c, config/vax/vax.h + (foo_address_cost): Make static. + (TARGET_ADDRESS_COST): New. + (ADDRESS_COST): Remove. + + * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h, + config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c, + config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c, + config/stormy16/stormy16.h + (ADDRESS_COST): Move code ... + (foo_address_cost): ... here. + (TARGET_ADDRESS_COST): New. + + * config/m32r/m32r.c (m32r_address_cost): Remove. + * config/m32r/m32r-protos.h: Update. + + * config/mmix/mmix.c (mmix_address_cost): Remove. + * config/mmix/mmix-protos.h: Update. + + * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from + mn10300_address_cost; move unsig allocation ... + (mn10300_address_cost): ... here. + (TARGET_ADDRESS_COST): New. + * config/mn10300/mn10300-protos.h: Update. + * config/mn10300/mn10300.h (ADDRESS_COST): Remove. + +2003-01-28 Vladimir Makarov + + * haifa-sched.c (schedule_insn): Return necessary cycle advance + after issuing the insn. + (rank_for_schedule): Make a insn with /S the highest priority + insn. + (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P. + (choose_ready): Check SCHED_GROUP_P. + (schedule_block): Advance cycle after issuing insn if it is + necessary. Don't reorder insns if there is an insn with /S. + (set_priorities): Ignore schedule groups. + + * sched-deps.c (remove_dependence, group_leader): Remove the + functions. + (add_dependence): Ignore schedule groups. + (set_sched_group_p): Don't make copy of dependencies from previous + insn of the schedule group. Add anti-dependency to the previous + insn of the schedule group. + (compute_forward_dependences): Ignore schedule groups. + + * sched-ebb.c (init_ready_list): Ignore schedule groups. + + * sched-rgn.c (init_ready_list): Ditto. + (can_schedule_ready_p): Ditto. + +2003-01-28 Vladimir Makarov + + * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm + register to another one. + +2003-01-28 Richard Henderson + + * calls.c (default_must_pass_in_stack): Fix typo in !type case. + +2003-01-28 Roger Sayle + + * cse.c (cse_insn): Avoid redundant REG_EQUAL notes. + +2003-01-28 Richard Sandiford + + * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given + class contains a floating-point register, return the size of the + mode in half words. + +Tue Jan 28 12:15:13 CET 2003 Jan Hubicka + + * i386.c (ix86_carry_flag_operator): New predicate. + (fcmov_operator): Fix whitespace. + (ix86_expand_carry_flag_compare): Deal with floating point. + (ix86_expand_int_movcc): Deal with fp; update insn expansion + (ix86_expand_int_addcc): Likewise. + (ix86_expand_strlensi_unroll_1): likewsie. + * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator. + * i386.md (add?i_carry_rex64): Use new predicate. + (sub?i3_carry_rex64): Likewise. + (x86_mov?icc_0_m1*): Likewise. + +2003-01-28 Andreas Schwab + + * cfgloopmanip.c (create_preheader): Initialize src to avoid + warning. + + * expmed.c (emit_store_flag): Fix cast to avoid sign + comparison warning. + + * combine.c (force_to_mode): Add cast to fix warning when + STORE_FLAG_VALUE is negative. + +2003-01-27 Richard Henderson + + * Makefile.in (cse.o): Depend on TARGET_H. + * cse.c (rtx_cost): Use targetm.rtx_costs. + * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison. + * doc/tm.texi: Update. + + * target.h (targetm.rtx_costs): New. + * target-def.h (TARGET_RTX_COSTS): New. + * hooks.c (hook_bool_rtx_int_int_intp_false): New. + * hooks.h: Update. + + * config/alpha/alpha.c (alpha_rtx_cost_data): New. + (alpha_rtx_costs, TARGET_RTX_COSTS): New. + * config/alpha/alpha.h (PROCESSOR_MAX): New. + (CONST_COSTS, RTX_COSTS): Remove. + + * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c, + config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h, + config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c, + config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h, + config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c, + config/i370/i370.h, config/i386/i386.c, config/i386/i386.h, + config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c, + config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h, + config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c, + config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h, + config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c, + config/mn10200/mn10200.h, config/mn10300/mn10300.c, + config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h, + config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c, + config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h, + config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c, + config/s390/s390.h, config/sh/sh.c, config/sh/sh.h, + config/stormy16/stormy16.c, config/stormy16/stormy16.h, + config/v850/v850.c, config/v850/v850.h, + config/xtensa/xtensa.c, config/xtensa/xtensa.h + (CONST_COSTS, RTX_COSTS): Move code ... + (foo_rtx_costs, TARGET_RTX_COSTS): ... here. + + * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs. + (arm_rtx_costs, TARGET_RTX_COSTS): New. + * config/arm/arm-protos.h: Update. + * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove. + + * config/avr/avr.h (CONST_COSTS): Move code ... + * config/avr/avr.c (avr_rtx_costs): ... here. + (default_rtx_costs): Make static. + * config/avr/avr-protos.h: Update. + + * config/h8300/h8300.c (const_costs): Make static. + (h8300_and_costs, h8300_shift_costs): Likewise. + * config/h8300/h8300-protos.h: Update. + + * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove. + (CONST_COSTS): Move code ... + * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from + default_rtx_costs; update for signature change. + * config/ip2k/ip2k-protos.h: Update. + + * config/m68hc11/m68hc11.h (RTX_COSTS): Remove. + (CONST_COSTS): Move code ... + * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here. + (TARGET_RTX_COSTS): New. + (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static. + * config/m68hc11/m68hc11-protos.h: Update. + + * config/m68k/m68k.c (const_int_cost): Make static. + * config/m68k/m68k-protos.h: Update. + + * config/mcore/mcore.c (mcore_const_costs): Make static. + (mcore_and_cost, mcore_ior_cost): Likewise. + * config/mcore/mcore-protos.h: Update. + + * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New. + (mmix_rtx_cost_recalculated): Remove. + * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove. + * config/mmix/mmix-protos.h: Update. + + * config/sh/sh.c (shiftcosts): Make static. + (addsubcosts, andcosts, multcosts): Likewise. + * config/sh/sh-protos.h: Update. + + * config/sparc/sparc.c (TARGET_RTX_COSTS): New. + (sparc_rtx_costs): Make static; update for change in signature. + * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove. + * config/sparc/sparc-protos.h: Update. + + * config/v850/v850.c (const_costs): Make static. + * config/v850/v850-protos.h: Update. + + * config/vax/vax.h (RTX_COSTS): Remove. + (CONST_COSTS): Move code ... + * config/vax/vax.c (vax_rtx_costs_1): ... here; rename + from vax_rtx_cost. + (vax_rtx_costs, TARGET_RTX_COSTS): New. + +2003-01-27 Richard Henderson + + * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really. + * config/vax/vax-protos.h: Update. Really. + +2003-01-28 Alexandre Oliva + + * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from... + (UNITS_PER_FPVALUE): Defined as the width of a long double, or + zero if no hardware floating point. + (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64. + (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE. + (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define. + (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE. + (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64. + * config/mips/mips.c (mips_arg_info): Pass TFmode values in + even FP registers on N32 and N64. + (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE. + (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM. + (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional + even-register-like alignment to 128-bit arguments. + (save_restore_insns): Use UNITS_PER_HWFPVALUE. + (mips_function_value): Likewise. Return TFmode in $f0 and $f2 + on N32 or N64. + * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New. + * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c. + (TPBIT): Set to tp-bit.c. + (tp-bit.c): Create out of fp-bit.c. + +2003-01-28 Gabriel Dos Reis + + * c-parse.in: Remove '%expect 32' directive in objc mode. + +2003-01-27 Nathan Sidwell + + * Makefile.in (LIB2FUNCS_ST): Remove _gcov. + (LIBGCOV): New variable. + (libgcc.mk): Add LIBGCOV. + (LIBGCC_DEPS): Add libgcov.c. + (libgcov.a): New target. + (clean): Remove libgcov.a. + (install-libgcc): Do libgcov too. + (stage1-start, stage2-start, stage3-start, stage4-start): Deal + with libgcov.a. + * libgcc2.c (L_gcov): Move into ... + * libgcov.c: ... here. New file. + * mklibgcc.in: Add libgcov rules. + * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling. + + * doc/invoke.texi (profile-arcs, test-coverage): Update and + clarify. + + * profile.c (index_counts_file): Remove duplicate check for open file. + +2003-01-27 Jerry Quinn + + * gcc/doc/invoke.texi (Optimization Options): Group together + optional and experimental flags. Move trapv and bounds-check + out of this section. Group floating point flags together. + (Code Gen Options): Move trapv and bounds-check to here. + +2003-01-27 Josef Zlomek + + * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL. + +2003-01-27 Richard Earnshaw + + PR optimization/9090 + * function.c (purge_addressof_1): After pushing an addressed register + onto the stack, simplify the result. + +2003-01-27 Volker Reichelt + + * doc/extend.texi: Fix typo. + 2003-01-27 Volker Reichelt * doc/cppopts.texi: Fix typo.