X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=228aea7c54600b9ccf71fa5da6cdd10edcb5ca8c;hb=12d9baf99f5dc0a2bf75047322487521fa6684be;hp=50be1fa267a3ba28c6414d06f94e334a9f72afa6;hpb=8ecc6b382b7cc49428244df58099f917e6566740;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50be1fa267a..228aea7c546 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,433 @@ +2011-01-25 Richard Guenther + + PR tree-optimization/47426 + * tree-ssa-structalias.c (ipa_pta_execute): Make externally + visible functions results escape. + +2011-01-25 Jakub Jelinek + + PR target/45701 + * config/arm/arm.c (any_sibcall_uses_r3): New function. + (arm_get_frame_offsets): Use it. + +2011-01-25 Sebastian Pop + Jakub Jelinek + + PR tree-optimization/47271 + * tree-if-conv.c (bb_postdominates_preds): New. + (if_convertible_bb_p): Call bb_postdominates_preds. + (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS. + (predicate_scalar_phi): Call bb_postdominates_preds. + +2011-01-25 Nick Clifton + + * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types. + * config/rx/rx.c (rx_function_value): Likewise. + (rx_promote_function_mode): Likewise. + (gen_safe_add): Place an outsized immediate value inside an UNSPEC + in order to make it legitimate. + * config/rx/rx.md (adddi3_internal): If the second operand is a + MEM make sure that the first operand is the same as the result + register. + (addsi3_unspec): Delete. + (subdi3): Do not accept immediate operands. + (subdi3_internal): Likewise. + +2011-01-25 Jeff Law + + PR rtl-optimization/37273 + * ira-costs.c (scan_one_insn): Detect constants living in memory and + handle them like argument loads from stack slots. Do not double + count memory for memory constants and argument loads from stack slots. + +2011-01-25 Jakub Jelinek + + PR tree-optimization/47427 + PR tree-optimization/47428 + * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't + coalesce if the new root var would be TREE_READONLY. + +2011-01-25 Richard Guenther + + PR middle-end/47414 + * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the + correct type for TBAA. + +2011-01-25 Sebastian Pop + + * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New. + (close_phi_written_to_memory): Call for_each_index with + dr_indices_valid_in_loop. + +2011-01-25 Sebastian Pop + + * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN + when it is initialized. + +2011-01-25 Sebastian Pop + + * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update + call to graphite_find_data_references_in_stmt. + * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New. + (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update + call to graphite_find_data_references_in_stmt. + (analyze_drs_in_stmts): Same. + * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop + in which the scalar analysis of indices is performed. + (create_data_ref): Same. Update call to dr_analyze_indices. + (find_data_references_in_stmt): Update call to create_data_ref. + (graphite_find_data_references_in_stmt): Same. + * tree-data-ref.h (graphite_find_data_references_in_stmt): Update + declaration. + (create_data_ref): Same. + * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update + call to create_data_ref. + +2011-01-25 Sebastian Pop + + * graphite-sese-to-poly.c (build_poly_scop): Move + rewrite_commutative_reductions_out_of_ssa before + find_scop_parameters. + +2011-01-25 Sebastian Pop + + * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow + VAR_DECL, PARM_DECL, and RESULT_DECL. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c (reduction_dr_1): Allow several reductions + in a reduction PBB. + * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs + that have already been marked as PBB_IS_REDUCTION. + +2011-01-25 Sebastian Pop + + * graphite-scop-detection.c (same_close_phi_node): New. + (remove_duplicate_close_phi): New. + (make_close_phi_nodes_unique): New. + (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c (new_poly_ddr): Call same_pdr_p. + * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE + of both data references to be the same. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c (build_lexicographical_constraint): Remove the + gdim parameter. + (build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty. + (dependence_polyhedron): Same. + (graphite_legal_transform_dr): Same. + (graphite_carried_dependence_level_k): Same. + * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter. + * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration. + +2011-01-25 Sebastian Pop + + * graphite-sese-to-poly.c + (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr. + (close_phi_written_to_memory): New. + (translate_scalar_reduction_to_array): Call close_phi_written_to_memory + and unshare_expr. + +2011-01-25 Sebastian Pop + + * doc/install.texi: Update the expected version number of PPL to 0.11. + * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under + #if PPL_VERSION_MINOR < 11. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c: Include graphite-cloog-util.h. + (new_poly_ddr): Inlined into dependence_polyhedron. + (free_poly_ddr): Moved close by new_poly_ddr. + (dependence_polyhedron_1): Renamed dependence_polyhedron. + Early return NULL when ppl_powerset_is_empty returns true. + (dependence_polyhedron): Renamed new_poly_ddr. Call only once + poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty. + (graphite_legal_transform_dr): Call new_poly_ddr. + (graphite_carried_dependence_level_k): Same. + (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr. + (dot_transformed_deps_stmt_1): Removed. + (dot_deps_stmt_1): Call dot_deps_stmt_2. + (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr. + (dot_deps_1): Call dot_deps_2. + * Makefile.in (graphite-dependences.o): Add missing dependence on + graphite-cloog-util.h. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty. + (build_lexicographical_constraint): Same. + (dependence_polyhedron_1): Same. + (graphite_legal_transform_dr): Same. + (graphite_carried_dependence_level_k): Same. + * graphite-ppl.c (ppl_powerset_is_empty): New. + * graphite-ppl.h (ppl_powerset_is_empty): Declared. + * tree-data-ref.c (dump_data_reference): Print the basic block index. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c (build_pairwise_scheduling): Correctly compute + the "a followed by b" relation and document it. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c (build_lexicographical_constraint): Stop the + iteration when the bag of constraints is empty. + +2011-01-25 Sebastian Pop + + * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work. + +2011-01-25 Sebastian Pop + + * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop + nest and two loop depths as parameters. + (lst_try_interchange_loops): Call lst_interchange_profitable_p after + lst_perfect_nestify. + +2011-01-25 Sebastian Pop + + * graphite-dependences.c (print_pddr): Call + ppl_io_fprint_Pointset_Powerset_C_Polyhedron. + +2011-01-25 Sebastian Pop + + * graphite-ppl.c (debug_gmp_value): New. + * graphite-ppl.h (debug_gmp_value): Declared. + +2011-01-25 Tobias Grosser + + * doc/install.texi: Document availability of cloog-0.16. + +2011-01-25 Vladimir Kargov + + * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free + invalid postdominance info. + +2011-01-24 Jan Hubicka + + PR c/21659 + * doc/extend.texi (weak pragma): Drop claim that it must + appear before definition. + * varasm.c (merge_weak, declare_weak): Only sanity check + that DECL is not output at a time it is declared weak. + +2011-01-24 Kenneth Zadeck + + * machmode.def: Fixed comments. + +2011-01-24 Kai Tietz + + * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t. + +2011-01-24 Paul Koning + + * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN != + WORDS_BIG_ENDIAN. + +2011-01-24 H.J. Lu + + PR target/46519 + * config/i386/i386.c: Include sbitmap.h and fibheap.h. + (block_info): Add scanned and prev. + (move_or_delete_vzeroupper_2): Return if the basic block + has been scanned and the upper 128bit state is unchanged + from the last scan. + (move_or_delete_vzeroupper_1): Return true if the exit + state is changed. + (move_or_delete_vzeroupper): Visit basic blocks using the + work-list based algorithm based on vt_find_locations in + var-tracking.c. + + * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H). + +2011-01-24 Nick Clifton + + * config/v850/v850.opt (mv850es): New option - alias for -mv850e1. + * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass + -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified + then define __v850e1__. + * doc/invoke.texi: Document -mv850es. + +2011-01-24 Richard Henderson + + * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept + compound unordered comparisons. + * config/rx/rx.c (rx_split_fp_compare): Remove. + * config/rx/rx-protos.h: Update. + * config/rx/rx.md (gcc_conds, rx_conds): Remove. + (cbranchsf4): Don't call rx_split_fp_compare. + (*cbranchsf4): Use rx_split_cbranch. + (*cmpsf): Don't accept "i" constraint. + (*conditional_branch): Only valid after reload. + (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare. + +2011-01-24 Michael Meissner + + PR target/47385 + * config/rs6000/altivec.md (vector constant splitters): Add + support for creating vector single precision constants if -mvsx is + used and we would create the constant using Altivec primitives. + +2011-01-23 Bernd Schmidt + Richard Sandiford + + PR rtl-optimization/47166 + * reload1.c (emit_reload_insns): Disable the spill_reg_store + mechanism for PRE_MODIFY and POST_MODIFY. + (inc_for_reload): For PRE_MODIFY, return the insn that sets the + reloadreg. + +2011-01-23 Andreas Schwab + + * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers. + +2011-01-22 Jan Hubicka + + PR lto/47333 + * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto. + +2011-01-22 Jan Hubicka + + PR tree-optimization/43884 + PR lto/44334 + * predict.c (maybe_hot_frequency_p): Use entry block frequency as base. + * doc/invoke.texi (hot-bb-frequency-fraction): Update docs. + +2011-01-22 Anatoly Sokolov + + * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. + * config/s390/s390.c (s390_register_move_cost, + s390_memory_move_cost): New. + (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define. + +2011-01-22 Ulrich Weigand + + PR middle-end/47401 + * except.c (sjlj_assign_call_site_values): Move setting the + crtl->uses_eh_lsda flag to ... + (sjlj_mark_call_sites): ... here. + (sjlj_emit_function_enter): Support NULL dispatch label. + (sjlj_build_landing_pads): In a function with no landing pads + that still has must-not-throw regions, generate code to register + a personality function with empty LSDA. + +2011-01-21 Richard Henderson + + * config/rx/rx.c (TARGET_FLAGS_REGNUM): New. + + * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New. + + * compare-elim.c: New file. + * Makefile.in (OBJS-common): Add it. + (compare-elim.o): New. + * common.opt (fcompare-elim): New. + * opts.c (default_options_table): Add OPT_fcompare_elim. + * tree-pass.h (pass_compare_elim_after_reload): New. + * passes.c (init_optimization_passes): Add it. + * recog.h: Protect against re-inclusion. + * target.def (TARGET_FLAGS_REGNUM): New POD hook. + * doc/invoke.texi (-fcompare-elim): Document it. + * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it. + * doc/tm.texi: Rebuild. + +2011-01-22 Nick Clifton + + * config/rx/rx.md (cstoresf4): Pass comparison operator to + rx_split_fp_compare. + +2011-01-22 Nick Clifton + + * config/rx/rx.md (UNSPEC_CONST): New. + (deallocate_and_return): Wrap the amount popped off the stack in + an UNSPEC_CONST in order to stop it being rejected by + -mmax-constant-size. + (pop_and_return): Add a "(return)" rtx. + (call): Drop the immediate operand. + (call_internal): Likewise. + (call_value): Likewise. + (call_value_internal): Likewise. + (sibcall_internal): Likewise. + (sibcall_value_internal): Likewise. + (sibcall): Likewise. Generate an explicit call using + sibcall_internal. + (sibcall_value): Likewise. + (mov<>): FAIL if a constant operand is not legitimate. + (addsi3_unpsec): New pattern. + + * config/rx/rx.c (rx_print_operand_address): Handle UNPSEC + CONSTs. + (ok_for_max_constant): New function. + (gen_safe_add): New function. + (rx_expand_prologue): Use gen_safe_add. + (rx_expand_epilogue): Likewise. + (rx_is_legitimate_constant): Use ok_for_max_constant. Handle + UNSPEC CONSTs. + +2011-01-21 Jeff Law + + PR tree-optimization/47053 + * tree-ssa-dse.c (need_eh_cleanup): New bitmap. + (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when + statements are deleted. + (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP + is nonempty, then purge dead edges and cleanup the CFG. + +2011-01-21 Alexandre Oliva + + PR debug/47402 + Temporarily revert: + 2011-01-21 Alexandre Oliva + PR debug/47106 + * tree-dfa.c (create_var_ann): Mark variable as used. + +2011-01-21 Jakub Jelinek + + PR middle-end/45566 + * except.c (convert_to_eh_region_ranges): Emit queued no-region + notes from other section in hot/cold partitioning even if + last_action is -3. Increment call_site_base. + + PR rtl-optimization/47366 + * fwprop.c (forward_propagate_into): Return bool. If + any changes are made, -fnon-call-exceptions is used and + REG_EH_REGION note is present, call purge_dead_edges + and return true if it purged anything. + (fwprop_addr): Adjust callers, call cleanup_cfg (0) if + any EH edges were purged. + +2011-01-21 Jeff Law + + PR rtl-optimization/41619 + * caller-save.c (setup_save_areas): Break out code to determine + which hard regs are live across calls by examining the reload chains + so that it is always used. + Eliminate code which checked REG_N_CALLS_CROSSED. + +2011-01-21 Jakub Jelinek + + PR tree-optimization/47355 + * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if + NOP has non-debug uses beyond PHIs in new_bb. + +2011-01-21 Alexandre Oliva + + PR debug/47106 + * cfgexpand.c (account_used_vars_for_block): Only account vars + that are annotated as used. + (estimated_stack_frame_size): Don't set TREE_USED. + * tree-dfa.c (create_var_ann): Mark variable as used. + +2011-01-21 Richard Guenther + + PR middle-end/47395 + * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name. + 2011-01-21 Richard Guenther PR tree-optimization/47365 @@ -354,7 +784,7 @@ (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A" as the source/destination of moves from/to SP. (movsf): Only allow for AM33-2. - (*movsf_internal): Use "r" instead of "dax"; use "F" instead of + (*movsf_internal): Use "r" instead of "dax"; use "F" instead of any integer constant constraint. Only allow for AM33-2. Tidy all of the alternative outputs. (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove. @@ -897,9 +1327,9 @@ 2011-01-13 Andrey Belevantsev PR rtl-optimization/45352 - * sel-sched.c: Update copyright years. + * sel-sched.c: Update copyright years. (reset_sched_cycles_in_current_ebb): Also recheck the DFA state - in the advancing loop when we have issued issue_rate insns. + in the advancing loop when we have issued issue_rate insns. 2011-01-12 Richard Henderson @@ -1001,7 +1431,7 @@ * opts.c (common_handle_option): Disable ipa-reference with profile feedback. -2011-01-12 Nicola Pero +2011-01-12 Nicola Pero * c-parser.c (c_parser_objc_at_property_declaration): Improved error message. @@ -1167,7 +1597,7 @@ 2011-01-10 Jan Hubicka - PR tree-optimization/47234 + PR tree-optimization/47234 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO. (pass_feedback_split_functions): Declare. * passes.c (init_optimization_passes): Add ipa-split as subpass of