X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;ds=inline;f=gcc%2FChangeLog;h=59d2479786463d7b0d858ea59f83386c2b348fa2;hb=c8a9f9bf2f66b56de7ce884ef251c167dbc0d4aa;hp=118b147fc760c33aec6ed789745a6ad132856ac0;hpb=6528f4f4ea9457e6678f0bec085febfdd9d93875;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 118b147fc76..59d24797864 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,607 @@ + 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. + * doc/objc.texi: Likewise. + * doc/passes.texi: Likewise. + +2003-01-27 Alexandre Oliva + + * real.c (ibm_extended_format): Add 53 to minimum exponent. + (encode_ibm_extended): Adjust. + +2003-01-26 Gabriel Dos Reis + + * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New + timevar_id enumerations. + +2003-01-26 Kazu Hirata + + * combine.c: Fix formatting. + +2003-01-26 Kazu Hirata + + * doc/gccint.texi: Update the copyright. + +2003-01-26 Kazu Hirata + + * doc/cpp.texi: Fix typos. + * doc/extend.texi: Likewise. + * doc/gty.texi: Likewise. + * doc/install.texi: Likewise. + * doc/passes.texi: Likewise. + * doc/rtl.texi: Likewise. + * doc/tm.texi: Likewise. + +2003-01-26 Kazu Hirata + + * config/ia64/fde-glibc.c: Fix comment typos. + * config/ia64/hpux.h: Likewise. + * config/ia64/ia64.c: Likewise. + * config/ia64/ia64.h: Likewise. + * config/ia64/unwind-ia64.c: Likewise. + +2003-01-26 Kazu Hirata + + * config/i386/i386-modes.def: Fix comment typos. + * config/i386/i386.c: Likewise. + * config/i386/i386.md: Likewise. + +2003-01-26 Steven Bosscher + + * config/avr/avr.h, config/cris/aout.h, config/elfos.h, + config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine + ASM_FINISH_DECLARE_OBJECT before defining it. + * toplev.c (rest_of_decl_compilation): Don't define + ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined. + (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function + parameters for DWARF2 targets because they _are_ used. + +2003-01-26 Alexandre Oliva + + * fp-bit.h: Define macros for TFmode floating-point constants + in IBM-extended TFmode types. + (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported + widths. + * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended + TFmode type. + + * config/fp-bit.h: Define macros for TFmode floating-point + constants in IEEE quad TFmode type. Declare functions according + to L_ macros. + (TMODES): Define if __LDBL_MANT_DIG__ is 113. + (TFtype, TItype, UTItype): Define if TMODES is defined. + (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise. + (F_T_BITOFF, D_T_BITOFF): Define. + (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are + guaranteed to be wide enough. + * config/fp-bit.c: Check for L_ macros for tf functions. + (__thenan_tf): New. + (nan): Adjust. + (pack_d, unpack_d): Support IEEE 854 quad type. + (_fpmul_parts): Support TFmode. Compute exponent adjustment + from FRAC_NBITS, FRAC_BITS and NGARDS. + (usi_to_float): Cast constants to be shifted to fractype + instead of assuming long long is wide enough. + (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New. + +2003-01-26 Andreas Jaeger + + * df.c: Remove prototype of unused function df_regno_rtl_debug. + +2003-01-26 Alexandre Oliva + + * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf. + (DBBIT_FUNCS): Added _df_to_tf. + (TPBIT_FUNCS): New. + (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down. + (LIBGCC_DEPS): Added TPBIT. + * mklibgcc.in: Support TPBIT and TPBIT_FUNCS. + + * optabs.c (expand_binop) : Return xtarget if we haven't + been able to move the result to target. + + * expr.c (emit_group_store): Initialize dst with CONST0_RTX + for the appropriate mode. + + * calls.c (emit_library_call_value_1): Handle return values + in a PARALLEL. + + * rtl.c (get_mode_alignment): Moved to... + * stor-layout.c: ... here. + + * print-rtl.c (print_rtx): Don't print MEM details in + GENERATOR_FILEs. + +2003-01-26 Michael Hayes + + * df.h: Update comments, tidy formatting. + (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD, + REVERSE, UNION, INTERSECTION. All uses updated. + (OLD_DF_INTERFACE): Remove. + (struct insn_info): Remove commented out insn field. + * df.c: Update comments, tidy formatting. + (df_def_table_realloc): Remove. + + +2003-01-26 Alan Modra + + * calls.c (save_fixed_argument_area): Tidy. + (restore_fixed_argument_area): Tidy. Set alignment of stack_area. + (expand_call): Comment typo fixes. Don't init low_to_save. Start + call chain loop at 1 if !try_tail_call. Formatting. + (emit_library_call_value_1): Don't init low_to_save or high_to_save. + Use save_fixed_argument_area and restore_fixed_argument_area. + +2003-01-26 Michael Hayes + + * df.c (df_uses_record): Handle CC0. + +2003-01-25 Ulrich Weigand + + * reload.c (maybe_memory_address_p): New function. + (find_reloads_address): Use it instead of memory_address_p. + +2003-01-25 Kaz Kojima + + * final.c (shorten_branches): Align the address of code label + when computing initial lengths and addresses. + +2003-01-25 Kazu Hirata + + * config/m68hc11/m68hc11.md: Fix a comment typo. + +2003-01-25 Andreas Jaeger + + * config/i386/i386.c (x86_output_mi_thunk): Correct test for + TARGET_MACHO. + +2003-01-25 Roger Sayle + + * gcse.c (bypass_last_basic_block): New global variable. + (bypass_block): Use redirect_edge_and_branch_force to redirect + fall-through edges. Use bypass_last_basic_block to determine + which blocks have valid PRE information. + (bypass_conditional_jumps): Initialize bypass_last_basic_block. + +Sat Jan 25 22:31:59 CET 2003 Jan Hubicka + + * gcse.c (local_cprop_pass): Update reg_sets table when needed. + +Sat Jan 25 21:04:33 CET 2003 Jan Hubicka + Eric Botcazou + PR opt/8492 + * gcse.c (one_cprop_pass): Delete unreachable blocks. + +2003-01-25 Richard Henderson + + * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename + from ia64_aix_select_rtx_section. + (ia64_rwreloc_select_section): Simlarly; use default*_1 function + instead of saving and restoring flag_pic. + (ia64_rwreloc_unique_section): Similarly. + * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION, + TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update. + * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION, + TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New. + +2003-01-25 Kazu Hirata + + * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a + comment. + +2002-01-25 Richard Henderson + + * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing. + +2002-01-25 Kelley Cook + + * ggc-simple.c (debug_ggc_tree): Add PTR cast. + +2003-01-25 Segher Boessenkool + + * bitmap.h (BITMAP_WORD): New typedef: fundamental storage + type for bitmaps. Use unsigned long. + (nBITMAP_WORD_BITS): New macro. + (BITMAP_WORD_BITS): New macro. + (rest of file): Use it. + * bitmap.c: Use it. + +2003-01-25 Richard Henderson + + 2002-02-19 Robert Lipe + * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff. + +2002-01-25 Roger Sayle + + * builtins.c (purge_builtin_constant_p): Scan insn stream + sequentially rather than by basic block. + * function.c (purge_addressof): Simplify test with INSN_P. + +2003-01-25 Kazu Hirata + + * combine.c (simplify_comparison, case AND): Remove a redundant test. + +2002-01-25 Roger Sayle + + * function.h (struct function): New field calls_constant_p. + (current_function_calls_constant_p): New macro for above. + * function.c (prepare_function_start): Initialize calls_eh_return + and calls_constant_p. + * builtins.c (expand_builtin_constant_p): Set calls_constant_p. + * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p + when the current_function_calls_constant_p. + * integrate.c (expand_inline_function): Set calls_constant_p if + the function being inlined has calls_constant_p set. + +2002-01-25 Roger Sayle + + * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not + optimizing, even if flag_gcse is true. + * toplev.c (rest_of_compilation): purge_builtin_constant_p + only needs to be called when "optimize > 0 && flag_gcse". + +2003-01-25 Roger Sayle + + * stmt.c (emit_case_bit_tests): New routine to implement suitable + switch statements using the equivalent of "if ((1< + + * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make + __do_global_ctors_aux hidden global and don't put it in + .init_array. + * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here + instead so that it comes first. + +Sat Jan 25 16:11:22 CET 2003 Jan Hubicka + + * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD, + subreg is read/modify. + +Sat Jan 25 15:55:08 CET 2003 Jan Hubicka + + * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently + do libcall for large blocks. + * i386.md (comi patterns): Set type to ssecomi. + (sse2_unpck?pd): Fix mode of vec_select. + + * cse.c: Include except.h + (cse_set_around_loop): Do not create new basic blocks. + * Makefile.in (cse.o): Add dependnecy on except.h + Sat Jan 25 12:05:17 CET 2003 Jan Hubicka * builtins.c (fold_trunc_transparent_mathfn): New function. @@ -200,7 +804,7 @@ Fri Jan 24 23:03:32 CET 2003 Jan Hubicka (TARGET_STRIP_NAME_ENCODING): Define. (get_thread_pointer): New function. - (legitimize_tls_address): New function. + (legitimize_tls_address): New function. (legitimize_address): Call it. (emit_pic_move): Remove, replace by ... (emit_symbolic_move): ... this new function. @@ -230,7 +834,7 @@ Fri Jan 24 23:03:32 CET 2003 Jan Hubicka ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns. ("*tls_load_64", "*tls_load_31"): New insns. ("call_value_tls", "call_value_tls_exp"): New expanders. - ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31", + ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31", "bas_tls_64", "bas_tls_31"): New insns. 2003-01-24 Nathan Sidwell @@ -332,8 +936,8 @@ Fri Jan 24 23:03:32 CET 2003 Jan Hubicka 2003-01-23 Richard Henderson - * ifcvt.c (noce_process_if_block): Re-add check vs X being changed - in no-else-block case. Add commentary. + * ifcvt.c (noce_process_if_block): Re-add check vs X being changed + in no-else-block case. Add commentary. 2003-01-23 Kaveh R. Ghazi @@ -454,7 +1058,7 @@ Fri Jan 24 23:03:32 CET 2003 Jan Hubicka * config/s390/s390.md (floatdfdi2): Insn has type 'itof'. * config/s390/2064.md (define_bypass): Correct 'Load' and 'Load-address' bypass values. - + 2003-01-22 Andreas Schwab * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error. @@ -1284,7 +1888,7 @@ Fri Jan 10 22:05:35 CET 2003 Jan Hubicka 2003-01-10 Hartmut Penner - * doc/invoke.texi: Document -mtune, delete -mcpu + * doc/invoke.texi: Document -mtune, delete -mcpu option for S/390 and zSeries. * config/s390/s390.c (s390_tune_string) New variable. (s390_cpu_string) Delete variable. @@ -3469,7 +4073,7 @@ Sun Dec 22 18:23:44 CET 2002 Jan Hubicka 2002-12-20 Hartmut Penner - * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march= + * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march= option for S/390 and zSeries. * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch, s390_arch_string): New variables.