X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;ds=sidebyside;f=gcc%2FChangeLog;h=5dfad7bdb3f72f1aa85449c779df6d4ab364c0f7;hb=c75a2739c2dd84336557e95cf655eceb163fc341;hp=68d354d60057d179edcbabdd5e8351b0f029739b;hpb=4df6a8af4929fc670de93f712f600ef71a2aa76a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68d354d6005..5dfad7bdb3f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,213 @@ +2012-12-15 Richard Guenther + + Revert + PR lto/48437 + * lto-streamer-out.c (tree_is_indexable): Exclude block-local + extern declarations. + + PR lto/48508 + PR lto/48437 + * tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL + VAR_DECLs and FUNCTION_DECLs locally. + +2011-12-14 Richard Henderson + + * config/arm/arm.md (*addsi3_compare0_scratch): Set predicable. + (*compare_negsi_si, *compare_addsi2_op0): Likewise. + (*compare_addsi2_op1, *zeroextractsi_compare0_scratch): Likewise. + (*compareqi_eq0, *arm_cmpsi_insn, *arm_cmpsi_negshiftsi_si): Likewise. + +2011-12-14 Richard Guenther + + * tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for + propagating all kinds of constants. + +2011-12-14 Richard Guenther + + PR lto/51497 + * lto-streamer-in.c (lto_read_body): Fixup local types + TYPE_CANONICAL and variant chain. + +2011-12-14 Richard Guenther + + * tree.c (free_lang_data_in_type): Do not clear fields + dependent on debuginfo level setting. + (find_decls_types_r): Use TYPE_STUB_DECL rathern than TREE_CHAIN. + * tree.h (TYPE_STUB_DECL): Properly check that we access a type. + +2011-12-14 Georg-Johann Lay + + PR target/50931 + * config/avr/avr.md (mulpsi3): New expander. + (*umulqihipsi3, *umulhiqipsi3): New insns. + (*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns. + (mulsqipsi3, *mulpsi3): New insn-and-splits. + (ashlpsi3): Turn to expander. Move insn code to... + (*ashlpsi3): ...this new insn. + +2011-12-14 Richard Guenther + + * tree-cfg.c (replace_uses_by): Only mark blocks altered + that will make a difference. Only recompute ADDR_EXPR + invariantness if it could possibly have changed. Do so + before folding the statement. + +2011-12-13 Eric Botcazou + + * lto-streamer-out.c (write_symbol): Use proper 64-bit host type. + * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets. + * lto-streamer-in.c (lto_read_body): Likewise. + (lto_input_toplevel_asms): Likewise. + * lto-section-in.c (lto_create_simple_input_block): Likewise. + * ipa-inline-analysis.c (inline_read_section): Likewise. + * ipa-prop.c (ipa_prop_read_section): Likewise. + + * df.h (DF_NOTE): Fix typo in comment. + +2011-12-13 Aldy Hernandez + + * trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and + DECL_LANG_SPECIFIC. + +2011-12-13 Andreas Krebbel + + * regmove.c (fixup_match_2): Only access call_used_regs with hard regs. + +2011-12-13 Andrew Pinski + Adam Nemet + + * config/mips/mips-cpus.def: Add Octeon2. + * config/mips/mips-tables.opt: Regenerate. + * config/mips/mips.md (define_attr "cpu"): Add Octeon2. + * config/mips/driver-native.c (host_detect_local_cpu): Support Octeon2. + * config/mips/octeon.md (octeon_arith): Add Octeon2. + (octeon_condmove): Likewise. + (octeon_load): Rename to .. + (octeon_load_o1): this. + (octeon_load_o2): New reserve. + (octeon_cop_o2): New reserve. + (octeon_store): Match Octeon2 also. + (octeon_brj): Rename to .. + (octeon_brj_o1): this. + (octeon_brj_o2): New reserve. + (octeon_imul3): Rename to ... + (octeon_imul3_o1): this. + (octeon_imul3_o2): New reserve. + (octeon_imul): Rename to ... + (octeon_imul_o1): this. + (octeon_imul_o2): New reserve. + (octeon_mfhilo): Rename to ... + (octeon_mfhilo_o1): This. + (octeon_mfhilo_o2): New reserve. + (octeon_imadd): Rename to ... + (octeon_imadd_o1): this. + (octeon_imadd_o2): New reserve. + (octeon_idiv): Rename to .. + (octeon_idiv_o1): This. + (octeon_idiv_o2_si): New reserve. + (octeon_idiv_o2_di): Likewise. + (octeon_unknown): Match Octeon2 also. + * config/mips/mips.c (mips_rtx_cost_data): Add Octeon2 cost data. + (mips_issue_rate): Octeon2 can issue 2 at a time. + * config/mips/mips.h (TARGET_OCTEON): Match Octeon2 also. + (TARGET_OCTEON2): New define. + (TUNE_OCTEON): Match Octeon2 also. + +2011-12-13 Richard Henderson + + * config/sparc/tso.h: New file. + * config.gcc (sparc-*-linux*, sparc*-*-solaris2*): Use it. + * config/sparc/sparc.c (sparc_option_override): Honor + SUBTARGET_DEFAULT_MEMORY_MODEL. + * config/sparc/sparc.h (SUBTARGET_DEFAULT_MEMORY_MODEL): New. + +2011-12-13 Aldy Hernandez + + PR middle-end/51443 + * trans-mem.c (struct diagnose_tm): Remove saw_unsafe. + (diagnose_tm_1): Same. + (ipa_tm_execute): Do not test tm_may_enter_irr before we set it. + (ipa_tm_scan_irr_function): Return gracefully when no + DECL_STRUCT_FUNCTION. + (ipa_tm_scan_irr_block): Believe the user on TM attributes. + +2011-12-13 Martin Jambor + + PR middle-end/50628 + * tree-sra.c (propagate_subaccesses_across_link): Do not propagate + sub-accesses of scalar accesses. + +2011-12-13 Martin Jambor + + PR tree-optimization/51362 + * ipa-cp.c (estimate_local_effects): When estimated size of a + specialized clone is zero, bump it to one. + +2011-12-13 Richard Guenther + + PR lto/48354 + * tree.c (find_decls_types_r): Also walk DECL_ORIGINAL_TYPE. + * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers): + Stream DECL_ORIGINAL_TYPE. + * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): + Likewise. + +2011-12-13 Jakub Jelinek + + Revert + 2011-12-12 Jakub Jelinek + + PR tree-optimization/51481 + * gimple-fold.c (gimple_fold_call): Call + maybe_clean_or_replace_eh_stmt. Avoid optimization if stmt has EH + edges, but gimple_fold_builtin result can't throw. + +2011-12-13 Jakub Jelinek + Michael Matz + + PR tree-optimization/51117 + * tree-eh.c (sink_clobbers): New function. + (execute_lower_eh_dispatch): Call it for BBs ending with + internally throwing RESX. + * cfgexpand.c (add_scope_conflicts_1): Add all conflicts only + at the first real instruction. + +2011-12-13 Tristan Gingold + + * final.c (final_scan_insn): Guard the call to begin_epilogue + debug hook. + +2011-12-13 Tristan Gingold + + * vmsdbgout.c (vmsdbgout_write_source_line): New function. + (vmsdbgout_end_prologue): Call vmsdbgout_write_source_line. + (vmsdbgout_begin_epilogue): Likewise. + (vmsdbgout_end_epilogue): Likewise. + (vmsdbgout_source_line): Move code to vmsdbgout_write_source_line. + +2011-12-13 Richard Guenther + + PR middle-end/51481 + * tree-cfg.c (replace_uses_by): Pass proper arguments to + maybe_clean_or_replace_eh_stmt. + +2011-12-13 Richard Guenther + + PR tree-optimization/51519 + * ipa-inline.c (edge_badness): Use edge growth in non-guessed + branch probability case as well. + +2011-12-13 Revital Eres + + * modulo-sched.c (mark_loop_unsched): Free bbs. + 2011-12-12 Jakub Jelinek + PR rtl-optimization/51495 + * function.c (thread_prologue_and_epilogue_insns): Don't add + to bb_tail basic blocks that have EDGE_COMPLEX predecessor edges + from basic blocks not needing prologue. + PR tree-optimization/51481 * gimple-fold.c (gimple_fold_call): Call maybe_clean_or_replace_eh_stmt. Avoid optimization if stmt has EH @@ -17,10 +225,6 @@ * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs in the expression of MODEL instead of just the last one. -2011-12-12 Dmitry Vyukov - - * cgraphunit.c (init_lowered_empty_function): Fix flags for new edges. - 2011-12-12 Jakub Jelinek PR middle-end/51510 @@ -62,8 +266,7 @@ 2011-12-11 Patrick Marlier - * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove - edge. + * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge. 2011-12-10 Richard Henderson @@ -226,8 +429,7 @@ * ira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of %lld. - (allocno_hard_regs): Change type of cost member - to HOST_WIDEST_INT. + (allocno_hard_regs): Change type of cost member to HOST_WIDEST_INT. (add_allocno_hard_regs): Change type of argument cost to HOST_WIDEST_INT. * ira-conflict.c (build_conflict_bit_table): Replace use @@ -250,8 +452,7 @@ PR tree-optimization/51482 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): - Make sure to only create REAL_TYPE and INTEGER_TYPE component - vectors. + Make sure to only create REAL_TYPE and INTEGER_TYPE component vectors. 2011-12-09 Kai Tietz @@ -301,8 +502,7 @@ 2011-12-08 Richard Guenther PR tree-optimization/49772 - * tree-inline.c (optimize_inline_calls): Remove bail out - on errors. + * tree-inline.c (optimize_inline_calls): Remove bail out on errors. 2011-12-08 Richard Guenther @@ -404,7 +604,7 @@ * config/avr/avr.c (avr_addrspace): New variable. (avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes, avr_asm_named_section, avr_section_type_flags, - avr_asm_select_section, avr_addr_space_address_mode, + avr_asm_select_section, avr_addr_space_address_mode, avr_addr_space_convert, avr_emit_movmemhi): Use it. (avr_addr_space_pointer_mode): Forward to avr_addr_space_address_mode. (avr_pgm_segment): Remove. @@ -419,17 +619,15 @@ 2011-12-06 Richard Guenther PR middle-end/51436 - * gimple-fold.c (gimplify_and_update_call_from_tree): Guard - vdef check for the fact we do not have virtual operands when - not optimizing. + * gimple-fold.c (gimplify_and_update_call_from_tree): Guard vdef check + for the fact we do not have virtual operands when not optimizing. 2011-12-06 Richard Guenther PR tree-optimization/51245 * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces): New function. - (vn_reference_lookup_3): Use it. Properly valueize all refs - we create. + (vn_reference_lookup_3): Use it. Properly valueize all refs we create. 2011-12-06 Iain Sandoe @@ -508,8 +706,7 @@ (struct allocno_color_data): Add new member last_process. Move profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start from object_color_data. - (object_color_data_t, object_color_data, OBJECT_COLOR_DATA): - Remove. + (object_color_data_t, object_color_data, OBJECT_COLOR_DATA): Remove. (curr_allocno_process): New static variable. (object_hard_regs_eq, object_hard_regs_htab): Rename to allocno_hard_regs_eq and allocno_hard_regs_htab. @@ -522,29 +719,36 @@ (add_new_object_hard_regs_node_to_forest): Rename to add_new_allocno_hard_regs_node_to_forest. (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): - Rename to add_allocno_hard_regs_to_forest and collect_allocno_hard_regs_cover. - (setup_object_hard_regs_nodes_parent): Rename to setup_allocno_hard_regs_nodes_parent. - (remove_unused_object_hard_regs_nodes): Rename to remove_unused_allocno_hard_regs_nodes. + Rename to add_allocno_hard_regs_to_forest and + collect_allocno_hard_regs_cover. + (setup_object_hard_regs_nodes_parent): Rename to + setup_allocno_hard_regs_nodes_parent. + (remove_unused_object_hard_regs_nodes): Rename to + remove_unused_allocno_hard_regs_nodes. (enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num): - Rename to enumerate_allocno_hard_regs_nodes and allocno_hard_regs_nodes_num. + Rename to enumerate_allocno_hard_regs_nodes and + allocno_hard_regs_nodes_num. (object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to allocno_hard_regs_nodes and allocno_hard_regs_subnode_t. (object_hard_regs_subnode, object_hard_regs_subnodes): Rename to allocno_hard_regs_subnode and allocno_hard_regs_subnodes. - (object_hard_regs_subnode_index): Rename to allocno_hard_regs_subnode_index. + (object_hard_regs_subnode_index): Rename to + allocno_hard_regs_subnode_index. (setup_object_hard_regs_subnode_index): Rename to setup_allocno_hard_regs_subnode_index. - (get_object_hard_regs_subnodes_num): Rename to get_allocno_hard_regs_subnodes_num. - (form_object_hard_regs_nodes_forest): Rename to form_allocno_hard_regs_nodes_forest. - (finish_object_hard_regs_nodes_tree): Rename to form_allocno_hard_regs_nodes_forest + (get_object_hard_regs_subnodes_num): Rename to + get_allocno_hard_regs_subnodes_num. + (form_object_hard_regs_nodes_forest): Rename to + form_allocno_hard_regs_nodes_forest. + (finish_object_hard_regs_nodes_tree): Rename to + form_allocno_hard_regs_nodes_forest (finish_object_hard_regs_nodes_forest): Rename to finish_allocno_hard_regs_nodes_forest. - (setup_left_conflict_sizes_p): Use allocno data instead of object - ones. Process conflict allocnos once. + (setup_left_conflict_sizes_p): Use allocno data instead of object ones. + Process conflict allocnos once. (update_left_conflict_sizes_p): Use allocno data instead of object ones. Change prototype signature. - (empty_profitable_hard_regs): Use allocno data instead of object - ones. + (empty_profitable_hard_regs): Use allocno data instead of object ones. (setup_profitable_hard_regs): Ditto. (get_conflict_profitable_regs): Rename to get_conflict_and_start_profitable_regs. Use allocno data for @@ -579,8 +783,7 @@ (struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores, add_vop_ref_mapping): Remove. - (create_vop_ref_mapping_loop): Adjust to simply record all - stores. + (create_vop_ref_mapping_loop): Adjust to simply record all stores. (analyze_memory_references): Adjust. (refs_independent_p): Check for not analyzable refs. (can_sm_ref_p): Likewise. @@ -605,9 +808,8 @@ 2011-12-05 Richard Guenther - * tree-ssa.c (verify_ssa): Verify SSA names in the loop - over all SSA names. Remove SSA operand checking, call - verify_ssa_operands. + * tree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA + names. Remove SSA operand checking, call verify_ssa_operands. * tree-ssa-operands.h (verify_ssa_operands): Declare. * tree-ssa-operands.c (verify_ssa_operands): New function. @@ -630,8 +832,7 @@ (cgraph_make_edge_direct): Likewise. * gimple-streamer-in.c (input_gimple_stmt): Do not call gimple_call_set_cannot_inline. - * gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift - values. + * gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift values. (gimple_call_set_cannot_inline): Remove. (gimple_call_cannot_inline_p): Likewise. * ipa-inline-analysis.c (initialize_inline_failed): Look @@ -683,8 +884,7 @@ (coverage_begin_function): ... here. * coverage.c (struct function_list): Rename to ... (struct coverage_data): ... this. Update all uses. - (gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New - globals. + (gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New globals. (bbg_file_opened, bbg_function_announced): Remove. (get_coverage_counts): Adjust message. (coverage_begin_ouput): Rename to ... @@ -774,8 +974,7 @@ (process_file): Call find_exception_blocks if necessary. (read_graph_file): Adjust. Note if an exceptional edge is seen. (find_exception_blocks): New. - (add_line_counts): Set line's unexceptional flag if not - exceptional. + (add_line_counts): Set line's unexceptional flag if not exceptional. (output_branch_count): Note exceptional arcs, lines and blocks. * gcov-dump.c (tag_arcs): Decode arc flags. * doc/gcov.texi: Document '=====' lines.