X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=48e144d72f79b9e83182a021ea75492fb6e398bf;hp=2a4a78e16278d293474f7c21f45e1d45ce01850b;hb=b239eadc591f2067f3f3ec64ade3c74ed1b3ca16;hpb=904087cf05029e156f661c2dc95168816f1f6609 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a4a78e1627..48e144d72f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,300 @@ -2005-03-14 Eric Botcazou +2005-03-15 J"orn Rennecke + + PR rtl-optimization/20291 + * combine.c (try_combine): If splitting fails, re-try with + original combined pattern, i.e. before clobber stripping. + +2005-03-14 Eric Christopher + + * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for + STACK_GROWS_DOWNWARD. + +2005-03-14 Roger Sayle + + * real.h (struct real_format): Split the signbit field into two + two fields, signbit_ro and signbit_rw. + * real.c (ieee_single_format, mips_single_format, ieee_double_format, + mips_double_format, ieee_extended_motorola_format, + ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format, + ieee_extended_intel_128_format, ibm_extended_format, + mips_extended_format, ieee_quad_format, mips_quad_format, + vax_f_format, vax_d_format, vax_g_format, i370_single_format, + i370_double_format, c4x_single_format, c4x_extended_format, + real_internal_format): Update initializers for new field. + * builtins.c (expand_builtin_signbit): Use signbit_ro field of the + real_format structure. + * optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw + field of the real_format structure. + +2005-03-14 Daniel Berlin + + Fix PR tree-optimization/20458 + + * tree-flow-inline.h (mark_call_clobbered): Don't fiddle + DECL_EXTERNAL on STRUCT_FIELD tags. + (clear_call_clobbered): Ditto. + * tree-ssa-operands.c (note_addressable): Make sure the original + variable doesn't slip into the addressable list if we have + subvars. + * tree-tailcall.c (suitable_for_tail_opt_p): Look at STRUCT_FIELD + tags too. + +2005-03-14 Geoffrey Keating + + * doc/cppopts.texi (-fexec-charset): Add concept index entry. + (-fwide-exec-charset): Likewise. + (-finput-charset): Likewise. + * doc/invoke.texi (Warning Options): Document -Wnormalized=. + * c-opts.c (c_common_handle_option): Handle -Wnormalized=. + * c.opt (Wnormalized): New. + +2005-03-14 Devang Patel + + * doc/invoke.texi: Add reference to Visibility document. + +2005-03-14 Richard Sandiford + + * config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to + MASK_SPLIT_ADDRESSES. + * config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete. + (MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD) + (MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT) + (MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS) + (MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN) + (MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16) + (MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY) + (MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400) + (MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN) + (MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE) + (MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D) + (MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64) + (TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE) + (TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS) + (TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT) + (TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA) + (TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN) + (TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD) + (TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV) + (TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1) + (TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120) + (TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS) + (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32) + (TARGET_EXPLICIT_RELOCS): Delete. + (TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete. + (TARGET_OPTIONS): Remove entry for -mfix-vr4130. + * config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define. + (override_options): Set MASK_LONG64 if -mint64 is given and no + -mlongXX option is. Complain about -mint64 -mlong32. + (override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename + MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT. + * config/mips/mips.opt: New file. + +2005-03-14 Richard Sandiford + + * config.gcc (extra_options): New variable for listing option files. + Add ${cpu_type}/${cpu_type}.opt to it if that file exists. + * configure.ac (extra_opt_files): New AC_SUBST variable. + (tm_file_list, tm_include_list): Include options.h first. + * configure: Regenerate. + * Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables. + (s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files) + (s-options-h): New rule. + (options.h): Depend on it. + (TEXI_GCCINT_FILES): Add options.texi. + * hooks.h (hook_bool_size_t_constcharptr_int_true): Declare. + * hooks.c (hook_bool_size_t_constcharptr_int_true): New function. + * target.h (gcc_target): Add default_target_flags and handle_option. + * target-def.h (TARGET_DEFAULT_TARGET_FLAGS) + (TARGET_HANDLE_OPTION): New macros. + (TARGET_INITIALIZER): Include them. + * opt-functions.awk (opt_args, nth_arg): New functions. + (switch_flags): Handle the "Target" flag. + (var_args): Delete. + (var_name): Use opt_args and nth_arg. + (var_set, var_ref): Likewise. Handle "Mask" and "InverseMask". + * opth-gen.awk: Declare target_flags. Declare MASK_* and TARGET_* + macros for the "Mask" and "InverseMask" options. + * opts.h (cl_var_cond): New enum. + (cl_option): Replace the "has_set_value" and "set_value" fields with + "var_cond" and "var_value". + (CL_TARGET): New macro. + (option_enabled, print_filtered_help): Declare. + (decode_options): Move definition. + * opts.c (handle_option): Search for the original option before + removing any "no-" prefix. Handle CL_TARGET. Adjust for the new + var_cond and var_value fields. Use targetm.handle_option to handle + target options. + (decode_options): Set target_flags to targetm.default_target_flags. + (print_filtered_help): Make global. Handle CL_TARGET. + (option_enabled): New function. + * toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES. + (display_target_options, set_target_switch, print_switch_values) + (default_pch_valid_p): Guard uses of target_switches with + #ifdef TARGET_SWITCHES. Also... + (display_target_options): Display the CL_TARGET entries in cl_options. + (set_target_option): Don't complain about the "" option when + TARGET_SWITCHES is undefined. + (print_switch_values): Use option_enabled. + (default_pch_valid_p): Check cl_options[] when looking for something + that has changed the value of target_flags. + * c.opt: Remove documentation from top of file. + * doc/gccint.texi: Add an "Options" chapter. Include options.texi. + * doc/sourecebuild.texi: Refer to the new options documentation + instead of c.opt. Document machine-specific .opt files. + * doc/tm.texi (target_flags): Say that this variable is declared + by options.h. + (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document. + (TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as + an alternative. + * doc/options.texi: New file. + +2005-03-14 Alexandre Oliva + + PR middle-end/18628 + * cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a + register. + +2005-03-14 Alexandre Oliva + + PR c++/20280 + * gimplify.c (gimplify_cond_expr): Add fallback argument. Use a + temporary variable of pointer type if an lvalues is required. + (gimplify_modify_expr_rhs): Request an rvalue from it. + (gimplify_expr): Pass fallback on. + +2005-03-14 Kazu Hirata + + * cfgbuild.c: Update comments. + +2005-03-14 Roger Sayle + + PR rtl-optimization/17236 + * optabs.c (expand_doubleword_mult): New helper function split out + from expand_binop. Permute the order in which instructions are + emitted to minimize the number of simultaneously live registers. + (expand_binop): Call expand_doubleword_mult to synthesize a double + word multiplication. + +2005-03-14 Kazu Hirata + + * basic-block.h: Update the prototypes of cached_make_edge and + rtl_make_eh_edge. + * cfg.c (cached_make_edge): Take edge_cache representing one + row of the adjacency matrix of edges. + * cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise. + (make_edges): Initialize edge_cache to represent one row of + the adjacency matrix of edges. + +2005-03-14 Zdenek Dvorak + + * tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order): + New functions. + (tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement. + Remove unused removed_phis variable. + (conditional_replacement): Use build1/build2. + (abs_replacement): Use last_and_only_stmt and build1/build2. + +2005-03-14 Zdenek Dvorak + + * builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST, + ATTR_PURE_NOTHROW_NOVOPS_LIST): New. + * builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS. + (BUILT_IN_PREFETCH): Set the NOVOPS attribute. + * c-common.c (handle_novops_attribute): New function. + (c_common_attribute_table): Add "no vops" entry. + * c-decl.c (merge_decls): Copy DECL_IS_NOVOPS. + * calls.c (flags_from_decl_or_type): Set ECF_NOVOPS. + * tree-ssa-operands.c (get_call_expr_operands): Do not + create virtual operands for calls with ECF_NOVOPS flag. + * tree.h (DECL_IS_NOVOPS): New macro. + (struct tree_decl): Add novops_flag. + (ECF_NOVOPS): New constant. + +2005-03-14 Uros Bizjak + + PR target/17688 + * config/i386/i386.c (x86_use_himode_fiop): New. + (x86_use_simode_fiop): Rename from x86_use_fiop. + * config/i386/i386.h (x86_use_himode_fiop): Declare. + (TARGET_USE_HIMODE_FIOP): New. + (x86_use_simode_fiop): Rename from x86_use_fiop. + (TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP. + + * config/i386/i386.md (X87MODEI12): New mode macro define. + (*cmpfp_): Rename from *cmpfp_si. Use X87MODEI12 mode macro + to implement x87 FP compare with HImode input operands. + (*fp_jcc_8_387, splitter): Rename from *fp_jcc_8_387. + Use X87MODEI12 mode macro to handle HImode input operands. + (*fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387, + *fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387): + Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387, + *fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode + macro to implement x87 operators with HImode input operands. + (fop splitters): Use X87MODEI12 mode macro to handle HImode + input operands. + +2005-03-14 Zdenek Dvorak + + * tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of + integer_zerop. + * tree-gimple.c (is_gimple_min_invariant): Consider overflowed + constants invariant. + +2005-03-14 Zdenek Dvorak + + * basic-block.h (BB_VISITED): Removed. + * cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag. + +2005-03-14 Falk Hueffner + + PR bootstrap/20424 + * config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo. + +2005-03-14 Kazu Hirata + + * ggc-zone.c: Fix comment typos. + + * alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h, + stringpool.c, config/mips/mips-protos.h: Update copyright. + +2005-03-14 Alan Modra + + * config/rs6000/rs6000-protos.h: Replace "struct rtx_def *" + throughout with its typedef, "rtx". + * config/rs6000/rs6000.c: Likewise. Formatting fixes. + (rs6000_tls_symbol_ref_1): Remove inline keyword. + * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting. Reorder + regs in comment to match code. + +2005-03-14 Kazu Hirata + + * except.c (check_handled): Make it static. + * except.h: Remove the corresponding prototype. + + * function.c (get_func_frame_size): Make it static. + * function.h: Remove the corresponding type. + + * regclass.c (reg_class_superclasses, reg_class_subclasses): + Make them static. + * hard-reg-set.h: Remove the corresponding declarations. + + * tree-cfg.c (verify_stmts): Check that + bb_for_stmt (stmt) == bb for every PHI node and statement. + +2005-03-14 Alan Modra + + * config.gcc: Remove excess indentation. + (powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548. + +2005-03-13 Roger Sayle + + PR middle-end/19331 + * tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically. + * fold-const.c (fold_sign_changed_comparison): Likewise. + (fold_binary): Optimize comparisons against widened operands if + the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR. + +2005-03-13 Eric Botcazou * config/sparc/sparc.c (struct_value_alias_set): New global variable. (sparc_override_options): Initialize it. @@ -24,7 +320,7 @@ * configure.ac: Define GGC_ZONE for --with-gc=zone. * config.in: Regenerated. * configure: Regenerated. - * gentype.c (write_types_process_field, write_func_for_structure): + * gengtype.c (write_types_process_field, write_func_for_structure): Pass new argument to gt_pch_note_object. * ggc-common.c (struct ptr_data): Add TYPE. (gt_pch_note_object): Take TYPE argument and save it.