X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=99b34c52c4e92844c58c3f80678a05d8276b25ae;hb=2ad0b097c1c8904b22684e42942913dd6fbf6308;hp=c4d91b6c901fa261f0c838265f157be88bff39e5;hpb=6e721d5016627d8f6523615eba0b4975ba29ee1b;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c4d91b6c901..99b34c52c4e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,208 @@ +2008-09-18 Simon Baldwin + + * c-opts.c (c_common_handle_option): Add handling for + -Wbuiltin-macro-redefined command line option. + * c.opt: Added builtin-macro-redefined option. + * doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined + documentation. + +2008-09-18 Richard Guenther + + PR tree-optimization/37258 + * tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision + and signedness for integral types. + (vn_phi_eq): Require compatible types. + +2008-09-18 Jakub Jelinek + + PR debug/34037 + * gimplify.c (gimplify_type_sizes): When not optimizing, ensure + TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P + VAR_DECL. + * cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL + !DECL_IGNORED_P vars in local_decls list for instantiate_decls, + ggc_free other TREE_LIST nodes from that chain. + * function.c (instantiate_decls): Instantiate also DECL_RTL + of vars in cfun->local_decls, free that list afterwards. + +2008-09-18 Eric Botcazou + + * config/sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to... + * config/sparc/sparc.h (WIDEST_HARDWARE_FP_SIZE): ...here. + +2008-09-18 Andrew MacLeod + + * tree-outof-ssa.c (eliminate_useless_phis): Fix formatting. + * tree-flow-.h (struct immediate_use_iterator_d): Fix comment. + +2008-09-18 Andrew MacLeod + + PR tree-optimization/37102 + * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args + from a node. Check to see if another PHI is dead. + (eliminate_useless_phis): Rename from eliminate_virtual_phis and + remove real PHIs which have no uses. + (rewrite_out_of_ssa): Call eliminate_useless_phis. + +2008-09-18 Richard Guenther + + PR middle-end/37284 + * tree-cfg.c (remove_useless_stmts_1): Remove + GIMPLE_CHANGE_DYNAMIC_TYPE if not optimizing. + +2008-09-18 Nick Clifton + + * config/frv/frv.h (IRA_COVER_CLASSES): Define. + (SECONDARY_INPUT_RELOAD_CLASS): Omit unused argument in call + to frv_secondary_reload_class. + (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. + * config/frv/frv.c (TARGET_SECONDARY_RELOAD): Define. + (frv_secondary_reload_class): Omit unused parameter. + (frv_secondary_reload): New function. Handle the case when + secondary_reload_class() is called before the reload_(in|out) + _optabs have been initialised. + * config/frv/frv-protos.h (frv_secondary_reload_class): Omit + unused parameter. + * config/frv/frv.md: Define an exclusion set between fr550_m0 + and fr550_f0. + +2008-09-18 Richard Guenther + + PR tree-optimization/37456 + * tree-ssa-reassoc.c (build_and_add_sum): If the stmt we + want to insert after ends a BB insert on the single fallthru + outgoing edge. + +2008-09-18 Andreas Krebbel + + * doc/invoke.texi: Document -mhard-dfp, -mno-hard-dfp. + Mention -march=z9-109, z9-ec and z10. + +2008-09-18 Uros Bizjak + + PR rtl-optimization/37544 + * regrename.c (maybe_mode_change): Exit early when copy_mode + is narrower than orig_mode and narrower than new_mode. + +2008-09-18 Alexander Monakov + + PR middle-end/37499 + * sched-int.h (struct _haifa_insn_data): Remove unused field + ref_count. + + * sched-rgn.c (ref_counts): Remove. + (insn_referenced): New static variable. + (INSN_REF_COUNT): Remove. + (sched_run_compute_dependencies): Use insn_referenced instead of + INSN_REF_COUNT. + (add_branch_dependences): Likewise. Delete dead assignment. + +2008-09-17 Adam Nemet + + * haifa-sched.c (dep_cost_1): Recognize the producer even if the + consumer is an asm. Add comment why this is important. + (choose_ready): Add comment to the "INSN_CODE (insn) >= 0 || + recog_memoized (insn) < 0" assert. Put ENABLE_CHECKING around + it. + +2008-09-17 Joseph Myers + + * expr.c (emit_group_store): Do not shift before moving via a + stack slot. + +2008-09-17 Eric Botcazou + + * varasm.c (initializer_constant_valid_p): Forbid view-conversions + from aggregate to non-aggregate type if the bit pattern is not fully + preserved afterwards. + +2008-09-17 Richard Guenther + + * tree-cfg.c (verify_types_in_gimple_assign): Rename to ... + (verify_gimple_assign): ... this. Split into ... + (verify_gimple_assign_unary): ... this, + (verify_gimple_assign_binary): ... that, + (verify_gimple_assign_single): ... and this. + (verify_types_in_gimple_stmt): Call verify_gimple_assign. + Fix GIMPLE_CHANGE_DYNAMIC_TYPE handling. + (verify_types_in_gimple_min_lval): Handle TARGET_MEM_REF. + (verify_types_in_gimple_reference): Be forgiving with + VIEW_CONVERT_EXPRs. + (verify_gimple_phi): Deal with virtual operands. + + * tree.def (PREDICT_EXPR): Change to tcc_expression. + +2008-09-17 Andrew Pinski + + * tree.c (get_callee_fndecl): Don't call the language hook. + * langhooks.h (lang_hooks): Remove lang_get_callee_fndecl. + * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): Kill. + (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_GET_CALLEE_FNDECL. + +2008-09-17 Jakub Jelinek + + * tree.c (protected_set_expr_location): Don't unnecessarily + check for error_mark_node. + +2008-09-17 Art Haas + + * ipa-reference.c (analyze_function): Declare step only if + ENABLE_CHECKING is defined. + +2008-09-17 Jan Hubicka + + PR c++/18071 + * tree.h (DECL_INLINE): remove. + (DECL_DECLARED_INLINE_P): Update docs. + (DECL_NO_INLINE_WARNING_P): new. + (tree_function_decl): Replace inline_flag by no_inline_warning_flag. + * tree-inline.c (inlinable_function_p): Set DECL_NO_INLINE_WARNING_P. + +2008-09-17 Jakub Jelinek + Rainer Orth + + PR bootstrap/37441 + * dwarf2out.c (dwarf2out_do_cfi_asm) [MIPS_DEBUGGING_INFO]: Return + false. + +2008-09-17 Jan Hubicka + + * ipa-reference.c (ipa_obstack): Remove. + (local_info_obstack, global_info_obstack): New. + (add_static_var): We now handle variables only. + (mark_address_taken, mark_load, mark_store): New functions based on ... + (check_operand): ... remove. + (get_asm_stmt_operands): Rename to ... + (check_asm_memory_clobber): ... this. Look only for memory clobber. + (scan_stmt_for_static_refs): Rewrite. + (scan_op_for_static_refs): Rename to ... + (scan_initializer_for_static_refs): do not look for VAR_DECL + initializers; stop recursion on types and decls. + (ipa_init): Use proper obstacks. + (analyze_variable): Use scan_initializer_for_static_refs. + (init_function_info): Use local obstack. + (analyze_function): Simplify. + (add_new_function): We don't need visited_nodes obstack. + (generate_summary): Use proper obstacks; cleanup after propagation. + +2008-09-17 Richard Guenther + + PR middle-end/37385 + PR tree-optimization/37491 + * alias.c (get_alias_set): Use the canonical type. + * tree-vect-transform.c (vectorizable_store): Use the type of + the lhs for the vector type. Adjust checking. + (vectorizable_load): Adjust checking. + +2008-09-16 Jakub Jelinek + Adam Nemet + + PR rtl-optimization/37483 + * ifcvt.c (noce_try_sign_mask): Use if_info->test_bb instead of + if_info->insn_b's bb as argument to optimize_bb_for_speed_p. + Rearrange code to better match the original comment. Check + t_unconditional first. Improve comment. + 2008-09-16 Jakub Jelinek PR c/37529 @@ -115,8 +320,8 @@ 2008-09-13 Jan Hubicka - * i386.c (ix86_expand_movmem, ix86_expand_movstr): Avoid processing too - many bytes on misalligned blocks. + * i386.c (ix86_expand_movmem, ix86_expand_movstr): Avoid processing + too many bytes on misalligned blocks. 2008-09-13 Ralf Wildenhues @@ -197,7 +402,8 @@ 2008-09-12 Sebastian Pop - * tree-scalar-evolution.c (set_instantiated_value): Set instantiated_below. + * tree-scalar-evolution.c (set_instantiated_value): Set + instantiated_below. 2008-09-12 Vladimir Makarov @@ -340,7 +546,8 @@ TRUTH_AND_EXPR for boolean (1-bit precision) expressions. (do_jump) [BIT_IOR_EXPR]: Compile as TRUTH_OR_EXPR. - * tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return a bool. + * tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return + a bool. * tree-ssa-propagate.c (substitute_and_fold): Pass a GSI to VRP's simplify_stmt_using_ranges. Do simplify_stmt_using_ranges before finalizing the changes. @@ -361,8 +568,8 @@ 2008-09-11 Jan Hubicka * cgraph.c (cgraph_release_function_body): Plug memory leak on - ipa_transforms_to_apply and CFG; ggc_free gimple df and struct function - so we are sure we do not dangle it forever. + ipa_transforms_to_apply and CFG; ggc_free gimple df and struct + function so we are sure we do not dangle it forever. * function.c (outer_function_chain, find_function_data): Remove. (function_context_stack): New. (push_function_context, pop_function_context): Update. @@ -419,7 +626,8 @@ register_overhead, free_overhead, vec_heap_free): New functions. (vec_gc_o_reserve_1): ggc_free when resizing to 0. (vec_heap_o_reserve_1): free when resizing to 0; add statistics. - (cmp_statistic, add_statistics, dump_vec_loc_statistics): New functions. + (cmp_statistic, add_statistics, dump_vec_loc_statistics): + New functions. 2008-09-11 Ira Rosen @@ -573,8 +781,8 @@ calls. PR target/37438 - * config/i386/i386.md (zero_extendqihi2_movzbl): Enable when optimizing - for size, not speed. + * config/i386/i386.md (zero_extendqihi2_movzbl): Enable when + optimizing for size, not speed. PR rtl-optimization/37408 * function.c (assign_parm_find_stack_rtl): Set correct MEM_SIZE @@ -583,18 +791,20 @@ 2008-09-09 Sebastian Pop PR tree-optimization/37375 - * tree-scalar-evolution.c (scev_info_str): Add field instantiated_below. + * tree-scalar-evolution.c (scev_info_str): Add field + instantiated_below. (new_scev_info_str, eq_scev_info, find_var_scev_info, set_scalar_evolution, get_scalar_evolution, get_instantiated_value, set_instantiated_value): Pass instantiated_below. - (analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls to - above functions. + (analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls + to above functions. (instantiate_scev_1, instantiate_scev): Pass a basic block above which the definitions are not instantiated. * tree-scalar-evolution.h (instantiate_scev): Update declaration. (block_before_loop): New. - * tree-data-ref.c (dr_analyze_indices): Update uses of instantiate_scev. + * tree-data-ref.c (dr_analyze_indices): Update uses of + instantiate_scev. * graphite.c (block_before_scop): New. (loop_affine_expr, stmt_simple_for_scop_p, harmful_stmt_in_bb): Pass a basic block, not a loop for determining the parameters. @@ -1552,8 +1762,8 @@ openmp applications. * pa-hpux11.h (LIB_SPEC): Likewise. - * ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS is - defined. + * ira.c (setup_eliminable_regset): Only declare i if ELIMINABLE_REGS + is defined. 2008-09-01 Jan Hubicka @@ -1663,8 +1873,7 @@ * sel-sched.h, sel-sched-dump.h, sel-sched-ir.h, sel-sched.c, sel-sched-dump.c, sel-sched-ir.c: New files. - * Makefile.in (OBJS-common): Add selective scheduling object - files. + * Makefile.in (OBJS-common): Add selective scheduling object files. (sel-sched.o, sel-sched-dump.o, sel-sched-ir.o): New entries. (SEL_SCHED_IR_H, SEL_SCHED_DUMP_H): New entries. (sched-vis.o): Add dependency on $(INSN_ATTR_H). @@ -1786,8 +1995,7 @@ (setup_sched_dump): New function. (haifa_init_only_bb): New static function. (haifa_speculate_insn): New static function. - (try_ready): Use haifa_* instead of speculate_insn and - change_pattern. + (try_ready): Use haifa_* instead of speculate_insn and change_pattern. (extend_ready, extend_all): Remove. (sched_extend_ready_list, sched_finish_ready_list): New functions. (create_check_block_twin, add_to_speculative_block): Use @@ -1817,8 +2025,7 @@ (current_sched_info_var): Remove. (move_block_after_check): Use common_sched_info. (haifa_luid_for_non_insn): New static function. - (init_before_recovery): Use haifa_init_only_bb instead of - add_block. + (init_before_recovery): Use haifa_init_only_bb instead of add_block. (increase_insn_priority): New. * modulo-sched.c: (issue_rate): Remove static declaration. (sms_sched_info): Change type to haifa_sched_info. @@ -2232,7 +2439,8 @@ (noce_try_cmove_arith): Likewise. (noce_try_sign_mask): LIkewise. * expr.c (compress_float_constant): Update rtx_cost calls. - * tree-ssa-address.c (most_expensive_mult_to_index): Add speed argument. + * tree-ssa-address.c (most_expensive_mult_to_index): Add speed + argument. (addr_to_parts): Likewise. (create_mem_ref): Likewise. * dse.c (find_shift_sequence): Add speed argument. @@ -2251,7 +2459,8 @@ (expand_mult_highpart): Use profile. (expand_smod_pow2): Use profile. (expand_divmod): Use profile. - * simplify-rtx.c (simplify_binary_operation_1): Update call of rtx_cost. + * simplify-rtx.c (simplify_binary_operation_1): Update call of + rtx_cost. * loop-invariant.c (create_new_invariant): Use profile. (gain_for_invariant): Add speed parameter. (best_gain_for_invariant): Likewise. @@ -2519,7 +2728,8 @@ * config/sparc/sparc.h (BRANCH_COST): Update. * config/m32r/m32r.h (BRANCH_COST): Update. * config/i386/i386.h (BRANCH_COST): Update. - * config/i386/i386.c (ix86_expand_int_movcc): Update use of BRANCH_COST. + * config/i386/i386.c (ix86_expand_int_movcc): Update use of + BRANCH_COST. * config/sh/sh.h (BRANCH_COST): Update. * config/pdp11/pdp11.h (BRANCH_COST): Update. * config/avr/avr.h (BRANCH_COST): Update. @@ -2569,7 +2779,8 @@ * tree-ssa-pre.c (do_pre): Use optimize_function_for_speed_p. * tree-predcom.c (tree_predictive_commoning): Use optimize_loop_for_speed_p. - * varasm.c (assemble_start_function): Use optimize_function_for_speed_p. + * varasm.c (assemble_start_function): Use + optimize_function_for_speed_p. * bb-reorder.c (rest_of_handle_reorder_blocks): Likewise. * predict.c (optimize_loop_for_speed_p): Fix walk. @@ -2790,16 +3001,17 @@ 2008-08-29 Jan Hubicka - * tree.c (build_function_type_skip_args, build_function_decl_skip_args): - New functions. - * tree.h (build_function_type_skip_args, build_function_decl_skip_args): - Declare. + * tree.c (build_function_type_skip_args, + build_function_decl_skip_args): New functions. + * tree.h (build_function_type_skip_args, + build_function_decl_skip_args): Declare. * gimple.c (giple_copy_call_skip_args): New function. (giple_copy_call_skip_args): Declare. * cgraph.h (cgraph_function_versioning): Add skip_args arugmnet * ipa-cp.c (ipcp_node_not_modifiable_p): Rename to ... - (ipcp_node_modifiable_p): ... this one; use tree_versionable_function_p. + (ipcp_node_modifiable_p): ... this one; use + tree_versionable_function_p. (ipcp_create_replace_map): Improve debug output. (ipcp_need_redirect_p): Return false when not clonning. (ipcp_update_callgraph): Skip args. @@ -2808,13 +3020,15 @@ * cgraphunit.c (cgraph_function_versioning): Add skip_args argument. (save_inline_function_body): Update call of tree_function_versioning. * ipa-prop.c (ipa_edge_removal_hook): Do not ICE on unanalyzed nodes. - * tree-inline.c (copy_arguments_for_versioning): Add skip_args argument. + * tree-inline.c (copy_arguments_for_versioning): Add skip_args + argument. (tree_function_versioning): Likewise. * tree-inline.h (tree_function_versioning): Update prototype. 2008-08-29 Jan Hubicka - * loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. + * loop-unswitch.c (unswitch_single_loop): Use + optimize_loop_for_speed_p. * tree-ssa-threadupdate.c (mark_threaded_blocks): Use optimize_function_for_size_p. * tracer.c (ignore_bb_p): Use optimize_bb_for_size_p. @@ -2828,7 +3042,8 @@ * builtins.c (fold_builtin_cabs): Use optimize_function_for_speed_p. (fold_builtin_strcpy, fold_builtin_fputs): Use optimize_function_for_size_p. - * fold-const.c (tree_swap_operands_p): Use optimize_function_for_size_p. + * fold-const.c (tree_swap_operands_p): Use + optimize_function_for_size_p. * recog.c (relax_delay_slots): Likewise. * tree-ssa-math-opts.c (replace_reciprocal): Use optimize_bb_for_speed_p. @@ -2844,11 +3059,12 @@ work it out from profile. * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Use optimize_loop_for_speed_p. - * predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p): Constify - argument. + * predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p): + Constify argument. (optimize_loop_nest_for_size_p, optimize_loop_nest_for_speed_p): New. * tree-parloops.c (parallelize_loops): Use optimize_loop_for_size_p. - * tree-eh.c (decide_copy_try_finally): Use optimize_function_for_size_p. + * tree-eh.c (decide_copy_try_finally): Use + optimize_function_for_size_p. * local-alloc.c (block_alloc): Pass BB pointer. (find_free_reg): Add BB pointer, use optimize_bb_for_size_p. * gcse.c (gcse_main): Use optimize_function_for_size_p. @@ -4246,8 +4462,8 @@ (update_call_notes_after_inlining): Expect ADDR_EXPR in operand. * ipa-prop.h (jump_func_type): Remove IPA_CONST_REF. (jump_func_type): Remove IPA_CONST_VALUE_REF. - * tree-inline.c (tree_function_versioning): Add variables referenced by - replacing trees. + * tree-inline.c (tree_function_versioning): Add variables referenced + by replacing trees. 2008-08-23 Jan Hubicka @@ -4647,9 +4863,9 @@ (vect_get_and_check_slp_defs): Detect patterns. (vect_build_slp_tree): Add an argument, don't fail in case of multiple types. - (vect_analyze_slp_instance): Don't fail in case of multiple types. Call - vect_build_slp_tree with correct arguments. Calculate unrolling factor - according to the smallest type in the loop. + (vect_analyze_slp_instance): Don't fail in case of multiple types. + Call vect_build_slp_tree with correct arguments. Calculate unrolling + factor according to the smallest type in the loop. (vect_detect_hybrid_slp_stmts): Include statements from patterns. * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Call supportable_widening_operation with correct arguments. @@ -5462,7 +5678,8 @@ 2008-08-09 Richard Sandiford - * config/mips/mips.c (mips_unspec_address_offset): Move earlier in file. + * config/mips/mips.c (mips_unspec_address_offset): Move earlier + in file. (mips_unspec_address, mips_unspec_offset_high): Likewise. (mips_ok_for_lazy_binding_p, mips_load_call_address): Likewise. (mips16_cfun_returns_in_fpr_p): Likewise. @@ -6031,7 +6248,8 @@ * configure.ac (HAVE_GAS_CFI_DIRECTIVE): New. * config.in, configure: Rebuild. * dwarf2asm.c (dw2_asm_output_data_raw): New. - (dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_sleb128_raw): New. + (dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_sleb128_raw): + New. (dw2_force_const_mem): Externalize. * dwarf2asm.h: Update. * dwarf2out.c (dwarf2out_cfi_label): If flag_dwarf2_cfi_asm, don't @@ -6066,8 +6284,10 @@ (MFC_MIN_DMA_LIST_ELEMENTS): New define. (MFC_MAX_DMA_LIST_ELEMENTS): Likewise. - (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of MFC_MIN_DMA_LIST_ELEMENTS. - (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of MFC_MAX_DMA_LIST_ELEMENTS. + (MFC_MIN_DMA_LIST_SIZE): Redefine in terms of + MFC_MIN_DMA_LIST_ELEMENTS. + (MFC_MAX_DMA_LIST_SIZE): Redefine in terms of + MFC_MAX_DMA_LIST_ELEMENTS. (MFC_START_ENABLE): Remove PPU-only define. (MFC_PUTS_CMD, MFC_PUTFS_CMD, MFC_PUTBS_CMD): Likewise. @@ -6742,7 +6962,8 @@ * configure.ac: Use the m4_do macro to concatenate the warnings into one string in ACX_PROG_CC_WARNING_OPTS, - ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS. + ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and + ACX_PROG_CC_WARNINGS_ARE_ERRORS. * configure: Regenerate. 2008-07-28 Richard Guenther @@ -7244,7 +7465,8 @@ (ipa_analyze_params_uses): New function. (ipa_free_node_params_substructures): Also free the param_calls linked list. - (ipa_node_duplication_hook): Also duplicate the param_calls linked list. + (ipa_node_duplication_hook): Also duplicate the param_calls + linked list. (ipa_print_node_param_flags): New function. (ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags. (ipa_print_all_param_flags): Calls ipa_print_node_param_flags. @@ -7793,15 +8015,16 @@ not optimizing so unused user vars remains visible. * common.opt (flag_tree_ter): Always enable by default. * tree-ssa-ter.c: Include flags.h - (is_replaceable_p): Check that locations match; when aliasing is missing - be conservative about loads. + (is_replaceable_p): Check that locations match; when aliasing + is missing be conservative about loads. * tree-optimize.c (gate_init_datastructures): Remove. (pass_init_datastructures): New. * passes.c: Reorder passes so we always go into SSA. 2008-07-19 Jan Hubicka - * doc/extend.texi (flatten attribute): Remove note about unit-at-a-time + * doc/extend.texi (flatten attribute): Remove note about + unit-at-a-time. * doc/invoke.texi (--combine): Likewise. (-finline-functions-called-once): Update levels when enabled. (-funit-at-a-time): Document new behaviour.