X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=08c73b27820edbbbc9aabd24cf0f3d487a3990dc;hp=15dce87b6c3de46bad4dcf62faed73e2d398b48c;hb=cc97f64c3258f131bb4939f57f38253958914b3a;hpb=db781a8f9274616995ac8e39596832ac563abd92 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15dce87b6c3..08c73b27820 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,486 @@ +2005-08-03 Andrew Pinski + + * convert.c (convert_to_integer): Use fold_build1 instead of + build1 when converting an integer to an integer. + +2005-08-02 Richard Henderson + + * combine.c (combine_instructions): Don't use reg_equal/equiv + results if the mode doesn't match. + +2005-08-02 Mark Mitchell + + * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it. + * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it. + +2005-08-02 Richard Henderson + + PR 23196 + * explow.c (memory_address): Remove special-case for + virtual_stack_vars_rtx and virtual_incoming_args_rtx. + +2005-08-02 Diego Novillo + + PR 23164 + * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the + number of calls to cleanup_tree_cfg_1. + +2005-08-02 Martin Reinecke + + * doc/invoke.texi: document file extensions .F90 and .F95 + +2005-08-02 Richard Guenther + + * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is + positive if its first argument is positive. + +2005-08-02 Richard Guenther + + PR tree-optimization/23177 + * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands + on TMR_TAG. + +2005-08-02 James A. Morrison + + PR tree-optimization/23129 + * tree-vrp.c (extract_range_from_binary_expr): Set value range to + varying for divisions with anti-ranges. + +2005-08-02 Jan Hubicka + + * tree-ssa-dom.c (thread_across_edge): Remove updating here. + * tree-ssa-threadupdate.c (thread_block): Add it here. + +2005-08-01 James E Wilson + + * config/mips/mips.c (mips_encode_section_info, mips_attribute_table, + TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New. + * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P): + New. + * config/mips/predicates.md (const_call_insn_operand): Add check for + SYMBOL_REF_LONG_CALL_P. + * doc/extend.texi (long_call): Document the new attribute. + +2005-08-01 Ian Lance Taylor + Richard Henderson + + * Makefile.in (RTL_BASE_H): Add real.h. + * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy + instead of memcpy. + * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv + directly. + * rtl.c (rtl_check_failed_code_mode): New. + * rtl.h (struct rtx_def): Add u.rv. + (XCMWINT, XCNMPRV): New. + (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT. + (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify. + +2005-08-01 Richard Henderson + + * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG, + with auto-inc codes. + + * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE. + +2005-08-01 Jan Hubicka + + * i386-protos.h (asm_preferred_eh_data_format): Declare. + * i386.c: Include dwarf2.h + (asm_preferred_eh_data_format): New. + * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline. + +2005-08-01 Ian Lance Taylor + + * config/host-linux.c (linux_gt_pch_get_address): Add new name + randomize_va_space for virtual address randomization control. + +2005-08-01 Steven Bosscher + + * common.opt (flag_ipa_cp): Put in right place to maintain + alphabetic sort. + +2005-08-01 Jan Hubicka + + * profile.c (compute_value_histograms): Fix thinko. + * value-prof.c: Include toplev.h + (check_counter): New function. + (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform, + tree_mod_subtract_transform): Add sanity check. + +2005-08-01 Richard Guenther + + PR tree-optimization/23133 + * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk + current functions parameter decls to find defs to cse + reciprocals of. + +2005-08-01 Richard Guenther + + PR tree-optimization/23109 + * tree-ssa-math-opts.c (execute_cse_reciprocals_1): + If trapping math is in effect, use post-dominator information + to check if we'd in any case reach a trapping point before + doing the reciprocal insertion. + (execute_cse_reciprocals): Compute post-dominators, if necessary. + * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV + expressions are invariant only if trapping math is not in effect. + +2005-08-01 Razya Ladelsky + + * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning, + cgraph_function_versioning): New declarations. + * cgraphunit.c: Add include to ipa-prop.h. + (update_call_expr, cgraph_copy_node_for_versioning, + cgraph_function_versioning): New functions. + * integrate.c (copy_decl_for_inlining): Remove. + * ipa-prop.h (ipa_replace_map): New struct. + (struct ipa_node): Add ipcp_orig_node, count_scale, new fields. + * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned, + ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale, + ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate, + ipcp_iterate_stage, ipcp_method_scale_print, + ipcp_profile_mt_count_print, ipcp_profile_cs_count_print, + ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print, + ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph, + ipcp_update_bb_counts, ipcp_update_profiling, + ipcp_update_edges_counts): New functions. + (ipcp_method_cval_init): Remove restriction regarding local methods. + (ipcp_init_stage): Add ipcp_method_compute_scale. + (ipcp_insert_stage): Add versioning. + (ipcp_structures_print): Add ipcp_method_scale_print. + (ipcp_driver): Dump profiling info. + * Makefile.in: Remove integrate.h dependency from tree-inline.o. + Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o. + * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h. + (struct inline_data): Add versioning_p, ipa_info, new fields. + (remap_decl, mark_local_for_remap_r, setup_one_parameter, + declare_return_variable): Replace calls to copy_decl_for_inlining with + copy_decl_for_dup. + (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add + versioning support. + (copy_decl_for_dup): Rename from copy_decl_for_inlining. + Add argument VERSIONING. + (copy_arguments_for_versioning, copy_static_chain, + function_versionable_p, tree_versionable_function_p, + tree_function_versioning, replace_ref_tree): New functions. + * tree-inline.h: Include varray.h. + (tree_versionable_function_p, tree_function_versioning, + tree copy_decl_for_dup): New declarations. + +2005-08-01 Razya Ladelsky + + * ipa-cp.c: New file. Contains IPCP specific functionality. + * ipa-prop.h: New file. Contains structures/definitions that can be + used by several interprocedural data flow optimizations (and also IPCP). + * ipa-prop.c: New file. + * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c. + * common.opt: Add ipa-cp flag. + * timevar.def: Add IPCP optimization. + * tree-optimize.c (init_tree_optimization_passes): Schedule + pass_ipa_cp. + * tree-pass.h (pass_ipa_cp): Declare. + +2005-08-01 Kazu Hirata + + * dwarf2out.c, fold-const.c, ipa-type-escape.c, + loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c, + tree-sra.c, config/arm/arm.c, config/crx/crx.c, + config/i386/i386.c, config/mips/mips.h, + config/rs6000/rs6000.h, config/sh/sh.c, + config/stormy16/stormy16.c: Fix comment typos. + +2005-08-01 Joseph S. Myers + + PR c/22311 + * c-typeck.c (build_binary_op): Use common_type wrapper on + shortened types. + (common_type): Update comment. + +2005-07-31 Steven Bosscher + + PR target/23095 + * common.opt (flag_gcse_after_reload): Don't initialize to 2. + (flag_rerun_cse_after_loop): Initialize this to 2 instead. + * postreload-gcse.c (hash_scan_set): Do not consider stack regs. + +2005-07-31 Jan Hubicka + + * pretty-print.h (pp_widest_integer): New macro. + * tree-pretty-print.c (dump_bb_header): Print BB frequencies and + counts. + +2005-07-31 Jan Hubicka + + * output.h (enum section_category): Export from varasm.c + (categorize_decl_for_section): Likewise. + * varasm.c (enum section_category): Kill. + (categorize_decl_for_section): Make global. + * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common): + Declare. + * i386.c (ix86_section_threshold): New static variable. + (ix86_in_large_data_p, ix86_encode_section_info, + x86_64_elf_unique_section, + x86_64_elf_select_section): New functions. + (TARGET_ENCODE_SECTION_INFO): Define + (override_options): Enable medium model for PIC. + (ix86_expand_prologue): Expand gen_set_got_rex64. + (legitimate_constant_p): Handle new UNSPECs. + (legitimate_pic_address_disp_p): Likewise. + (legitimize_pic_address): Lower MEDIUM model addressing. + * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC. + (enum cmodel): Add MEDIUM_PIC. + (SYMBOL_REF_FAR_ADDR_P): New macro. + (SYMBOL_FLAG_FAR_ADDR): New flag. + * i386.md (movdi): Support medium model. + (set_got_rex64): New pattern. + * i386.opt (mlarge-data-threshold): New flag. + * predicates.md (zext_operand/sext_operand): Deal with medium model. + * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss. + (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION, + TARGET_ASM_UNIQUE_SECTION): New. + + * invoke.texi (-mlarge_data_threshold): Document + +2005-07-31 Jan Hubicka + + * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost. + (coalesce_vars): Likewise. + * tree-ssa-live.c (coalesce_cost): New. + (build_tree_conflict_graph): Use coalesce_cost. + * tree-ssa-live.h (coalesce_cost): Declare. + +2005-07-30 Richard Earnshaw + + * arm.md (all peepholes for post-increment operations): Delete. + (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec) + (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec) + (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec) + (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc) + (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete. + +2005-07-30 James A. Morrison + + * fold-const.c (tree_expr_nonnegative_p): Always return true for + non-integral types. + +2005-07-29 Wolfgang Bangerth + + PR target/22582 + * doc/invoke.texi: Document -rdynamic. + +2005-07-30 Joseph S. Myers + + PR c/23143 + * c-parser.c (c_parser_parms_list_declarator): Call + mark_forward_parm_decls. + * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for + decls with visibility structure. + +2005-07-30 Paul Brook + + * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment. + +2005-07-30 Paul Brook + + * config/arm/arm-protos.h (arm_canonicalize_comparison): Update + prototype. + * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit + value for mode. + * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument. + +2005-07-29 Joseph S. Myers + + PR c/529 + * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in + nested function declarators. + (pushdecl): Don't call warn_if_shadowing for PARM_DECL. + (grokparms): Call warn_if_shadowing for parameters used within the + parameter list. + (store_parm_decls_newstyle): Call warn_if_shadowing for parameters + not used within the parameter list. + (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters. + +2005-07-30 Jan Hubicka + + * expr.c (expand_expr_real_1): Do not load mem targets into register. + * i386.c (ix86_fixup_binary_operands): Likewise. + (ix86_expand_unary_operator): Likewise. + (ix86_expand_fp_absneg_operator): Likewise. + * optabs.c (expand_vec_cond_expr): Validate dest. + +2005-07-29 Joseph S. Myers + + PR c/21720 + * real.c (real_from_string): Also set last bit if there is a + nonzero hex digit beyond GCC's internal precision after ".". + +2005-07-29 David Edelsohn + + * config/rs6000/altivec.md: Convert UNSPEC numerical values to + define_constants. Change duplicate values to unassigned numbers. + Change UNSPEC_SUBS to UNSPEC_VSUBS. + (*altivec_vspltsf): New. + (altivec_vperm_v4sf): Delete. + (altivec_vperm_): Use mode macro V. + (altivec_vsldoi_): Convert to mode macro pattern. + (altivec_predicate_v4sf): Delete. + (altivec_predicate_): Use mode macro V. + (*altivec_lvesfx): New. + (*altivec_stvesfx): New. + (vec_realign_load_v4sf): Delete. + (vec_realign_load_): Use mode macro V. + * config/rs6000/rs6000.c (generate_set_vrsave): Use + UNSPECV_SET_VRSAVE. + +2005-07-29 Mark Mitchell + + PR bootstrap/23131 + * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty + string. + * configure: Regenerated. + +2005-07-29 Paul Brook + + * doc/install.texi: Add link to GFortran binaries wiki page. + +2005-07-29 David Ung + + * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table. + (mips_rtx_cost_data): Add costs for 5kc and 5kf. + * config/mips/mips.h (processor_type): Add PROCESSOR_5KF. + * config/mips/mips.md (cpu): Add 5kf name. + (includes): Includes 5k.md. + * config/mips/5k.md: New DFA pipeline for the 5kc/5kf. + * doc/invoke.texi (MIPS Options): Updated cpu name supported with + -march flag. + +2005-07-29 Diego Novillo + + PR 22550 + * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ... + (cleanup_tree_cfg): ... here. + Call cleanup_tree_cfg_1 until there are no more cleanups to + do. + +2005-07-29 James A. Morrison + + * tree-vrp.c (compare_range_with_value): Return true or false + for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and + EQ_EXPR respectively. + +2005-07-29 Kazu Hirata + + * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c: + Fix comment typos. + +2005-07-29 Diego Novillo + + * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations. + (tree_ssa_dominator_optimize): Increment it. + (dump_dominator_optimization_stats): Print it. + +2005-07-29 Richard Earnshaw + Steven Bosscher + + PR rtl-optimization/23117 + * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly + when head == tail. Tidy comment. + +2005-07-28 Richard Henderson + + * cse.c (exp_equiv_p): Special case CONST_DOUBLE. + * cselib.c (rtx_equal_for_cselib_p): Likewise. + * jump.c (rtx_renumbered_equal_p): Likewise. + * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0, + CONST_INT and CONST_DOUBLE. + (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF. + * reload.c (operands_match_p): Special case CONST_INT and + CONST_DOUBLE; check mode earlier. + +2005-07-29 Joseph S. Myers + + PR c/22240 + * c-typeck.c (convert_for_assignment): Do not check + DECL_IN_SYSTEM_HEADER on NULL fundecl. + +2005-07-29 Joseph S. Myers + + PR c/22192 + * c-typeck.c (composite_type): Prefer constant size arrays to + VLAs. + +2005-07-29 Joseph S. Myers + + PR c/21720 + * real.c (real_from_string): Set last bit if there is a nonzero + hex digit beyond GCC's internal precision. + +2005-07-28 Richard Henderson + + PR rtl-opt/22619 + * cfgcleanup.c (try_forward_edges): Watch out for end of + insn chain. + +2005-07-28 James E Wilson + + PR c/23106 + * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording. + +2005-07-28 Jan Hubicka + + * Makefile.in (rtl-profile.o): Kill all traces of it. + * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill. + * coverage.h (rtl_coverage_counter_ref): Kill. + * opts.c (flag_speculative_prefetching_set): Kill. + (flag_loop_optimize_set): New. + (common_handle_option): Disable loop optimizer when profiling; + do not handle speculative prefetching. + * passes.c (init_optimization_passes): Replace pass_profiling combo + by branch_prob pass. + * profile.c (compute_value_histograms): Update for simplified value + profiles. + (rtl_register_profile_hooks): Kill. + (pass_profiling): Kill. + (rest_of_handle_branch_prob): Do not profile. + * toplev.c (process_options): Remove speculative prefetching. + * toplev.h (flag_tree_based_profiling): Kill. + * tree-profile.c (prepare_instrumented_value, + tree_gen_interval_profiler, tree_gen_pow2_profiler, + tree_gen_one_value_profiler, do_tree_profiling): Update for + simplified datastructures. + * value-prof.c: Add comment that speculative prefetching was dropped; + update rest of file for simplified datastructures. + (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX, + rtl_divmod_values_to_profile, insn_prefetch_values_to_profile, + find_mem_reference_1, find_mem_reference_2, find_mem_reference, + rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2, + rtl_mod_subtract, gen_speculative_prefetch, + rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform, + rtl_mod_subtract_transform, speculative_prefetching_transform): Kill. + (gate_handle_value_profile_transformations, + rest_of_handle_value_profile_transformations, + pass_value_profile_transformations): Kill. + * value-prof.h (histogram_value_t): Remove IL based unions. + (rtl_register_value_prof_hooks, rtl_register_profile_hooks, + rtl_profile_hooks): Remove hooks. + + * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill. + + * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument. + (cgraph_clone_node): Likewise. + * cgraph.h (cgraph_clone_edge): Update prototype. + (cgraph_clone_node): Likewise. + * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of + cgraph_clone_node. + (lookup_recursive_calls): Consider profile. + (cgraph_decide_recursive_inlining): Fix updating; use new + probability argument; use profile. + * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New. + * tree-inline.c (copy_bb): Update clal of clone_edge. + * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node. + + * invoke.texi (min-inline-recursive-probability): Document. + 2005-07-28 Gerald Pfeifer * doc/install.texi (Configuration): Update Valgrind homepage. @@ -12,8 +495,8 @@ 2005-07-28 Richard Henderson PR target/17692 - * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note - when expanding to nothing. + * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note + when expanding to nothing. 2005-07-28 Josh Conner @@ -53,9 +536,9 @@ 2005-07-28 Jeff Law - * tree-vrp.c (test_for_singularity): Extracted from ... - (simplify_cond_using_ranges): Attempt to simplify a relational - test to NE_EXPR. Dump information when a COND_EXPR is simplified. + * tree-vrp.c (test_for_singularity): Extracted from ... + (simplify_cond_using_ranges): Attempt to simplify a relational + test to NE_EXPR. Dump information when a COND_EXPR is simplified. 2005-07-28 Dorit Nuzman @@ -140,19 +623,19 @@ * config/frv/frv.h: Remove machine_function definition. - * config/frv/frv.c (struct frv_io): New. - (struct machine_function): Moved from frv.h. Add has_membar_p. - (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union) - (frv_extract_membar, frv_io_check_address, frv_io_handle_set) - (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local) - (frv_optimize_membar_global, frv_optimize_membar): New functions. - (frv_reorg): Call frv_optimize_membar when appropriate. - (bdesc_loads, bdesc_stores): Use the membar code as the icode field. - (frv_expand_builtin): Adjust calls accordingly. - (frv_io_address_cookie): New function. - (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal - load or store rather than a special insn. Add ccnstant address and - io-type operands to the membar. + * config/frv/frv.c (struct frv_io): New. + (struct machine_function): Moved from frv.h. Add has_membar_p. + (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union) + (frv_extract_membar, frv_io_check_address, frv_io_handle_set) + (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local) + (frv_optimize_membar_global, frv_optimize_membar): New functions. + (frv_reorg): Call frv_optimize_membar when appropriate. + (bdesc_loads, bdesc_stores): Use the membar code as the icode field. + (frv_expand_builtin): Adjust calls accordingly. + (frv_io_address_cookie): New function. + (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal + load or store rather than a special insn. Add ccnstant address and + io-type operands to the membar. (frv_ifcvt_modify_tests): Unsign regno. (frv_ifcvt_modify_tests): Same.