diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4b96a2f00db..b46a2ef7288 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,296 @@ + 2009-09-27 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> + + PR middle-end/19154 + * avr.md (QIDI): Add new mode iterator. + (sbrx_branch<mode>): Create new zero extract bit, test and jump + patterns for all QI thru DI modes combinations. + (sbrx_and_branch<mode>): Create new and based bit test and jump + patterns for QI thru SI modes. + avr.c (avr_out_sbxx_branch): Use only bit number. + +2009-10-24 Jan Hubicka <jh@suse.cz> + + * ipa-reference.c (check_call): Noreturn notrhow calls do not write + to memory. + (analyze_function): When analyzing noreturn nothrow call, do not compute + written stats; free bitmaps of vars early if possible. + (generate_summary): Only update bitmaps if computed. + (propagate): Only dump bitmaps if computed. + (ipa_reference_read_summary): Fix pasto. + +2009-10-24 Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-alias.c (nonaliasing_component_refs_p): Rename into... + (aliasing_component_refs_p): ...this. Return true if there is no + common base and the base access types have the same alias set. + (indirect_ref_may_alias_decl_p): Adjust for above renaming. + (indirect_refs_may_alias_p): Likewise. + +2009-10-23 Joseph Myers <joseph@codesourcery.com> + + PR c/40033 + * c-typeck.c (c_finish_stmt_expr): Do not wrap error_mark_node in + a C_MAYBE_CONST_EXPR. + +2009-10-23 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/41787 + * config/rs6000/rs6000.c (struct machine_function): Add + vsx_or_altivec_used_p to record if vector types are used. + (rs6000_expand_to_rtl_hook): Rename from + rs6000_alloc_sdmode_stack_slot. If VSX, check to see if there are + any vector operations, so if there are, we can set VRSAVE to + non-zero when only floating point vector registers are used. + (TARGET_EXPAND_TO_RTL_HOOK): Use rs6000_expand_to_rtl_hook. + (rs6000_check_vector_mode): Inner function to check if vector + types are used in the code. + (compute_vrsave_mask): If VSX, make sure VRSAVE is non-zero if + vector instructions are used. + + * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): + Indicate that VSX registers which overlap floating point + registers, can't be used across a call, since the ABI only states + the scalar part of the register will be saved and restored. + +2009-10-23 Joseph Myers <joseph@codesourcery.com> + + PR c/41673 + * alias.c (get_alias_set): Call langhook before returning 0 for + types with structural equality. + * c-common.c (c_common_get_alias_set): Use alias set of element + type for arrays with structural comparison. + +2009-10-23 Richard Guenther <rguenther@suse.de> + + PR middle-end/41805 + * cfgexpand.c (expand_call_stmt): Use gimple_has_side_effects and + gimple_call_nothrow_p. + +2009-10-23 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/41778 + * tree-ssa-pre.c (do_regular_insertion): Only insert if a + redundancy along a path in the CFG we want to optimize for speed + is going to be removed. + (execute_pre): Do partial-PRE only if the function is to be + optimized for speed. + (gate_pre): Do not turn off all of PRE when not optimizing a + function for speed. + +2009-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * builtins.c (fold_builtin_cabs): Use validate_arg(). + (fold_builtin_cexp): Fix if-logic. + (fold_builtin_1): Check subtype for BUILT_IN_CIMAG. + +2009-10-22 Jeff Law <law@redhat.com> + + * ira-lives.c (process_single_reg_class_operands): Update the + hard reg costs for all the hard registers desired by the + single reg class operand. + +2009-10-22 Richard Sandiford <rdsandiford@googlemail.com> + + * simplify-rtx.c (simplify_replace_fn_rtx): Add a fallback case + for rtxes that aren't handled specially. + +2009-10-22 Richard Sandiford <rdsandiford@googlemail.com> + + * rtl.h (shallow_copy_rtvec): Declare. + * rtl.c (shallow_copy_rtvec): New function. + * cselib.c (cselib_subst_to_values): Use it. Only modify an + rtx field if the subrtx has changed. + +2009-10-22 Anatoly Sokolov <aesok@post.ru> + + * config/m32c/m32c.c (m32c_function_value_regno_p): New function. + (m32c_function_value): Make static, add new 'outgoing' argument. + (m32c_libcall_value): Make static, add new 'fun' argument. + (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare. + * config/m32c/m32c.h: (FUNCTION_VALUE, LIBCALL_VALUE): Remove. + (FUNCTION_VALUE_REGNO_P): Redefine, use m32c_function_value_regno_p. + * config/m32c/m32c-protos.h (m32c_function_value_regno_p): Declare. + (m32c_function_value, m32c_libcall_value): Delete declaration. + +2009-10-22 Diego Novillo <dnovillo@google.com> + + * Makefile.in (PLUGIN_HEADERS): Add output.h and IPA_UTILS_H. + +2009-10-22 Razya Ladelsky <razya@il.ibm.com> + + * testsuite/gcc.dg/autopar/outer-4.c: Adjust scan. + * testsuite/gcc.dg/autopar/outer-5.c: Adjust scan. + * testsuite/gcc.dg/autopar/outer-5.c: Add scan optimized. + * tree-cfg.c (gimple_duplicate_sese_tail): Fix typos/indentation/white + space. + +2009-10-22 Richard Guenther <rguenther@suse.de> + + * lto-streamer.h (lto_symtab_merge_cgraph_nodes): Declare. + * lto-symtab.c (struct lto_symtab_entry_def): Add node member. + (lto_symtab_merge): Do not merge cgraph nodes here. + (lto_symtab_resolve_can_prevail_p): Simplify. + (lto_symtab_resolve_symbols): Store cgraph node. + (lto_symtab_merge_decls_1): Simplify. Do not drop non-prevailing + functions from the symtab. + (lto_symtab_merge_cgraph_nodes_1): New function. + (lto_symtab_merge_cgraph_nodes): Likewise. + +2009-10-22 Richard Guenther <rguenther@suse.de> + + PR lto/41791 + * lto-streamer-out.c (lto_output_location): Stream the + system header flag. + * lto-streamer-in.c (lto_input_location): Likewise. + +2009-10-22 Razya Ladelsky <razya@il.ibm.com> + + * cfgloopmanip.c (duplicate_subloops): Export. + * tree-parloops.c (loop_parallel_p): Dump if loop is innermost. + (transform_to_exit_first_loop): Duplicate bbs starting from + header up to loop->latch instead of exit->src. + Initialize control variable to the correct number of iterations. + (gather_scalar_reductions): Do not register double reductions. + (parallelize_loops): Dump which loop is tested. + Indicate whether the parallelized loop is inner or not. + Remove the innermost-loop requirement. + * cfgloop.h (duplicate_subloops): Export. + * tree-cfg.c (add_phi_args_after_redirect): New function. + (gimple_duplicate_sese_tail): Remove the no-subloops constraint. + Call duplicate_subloops. + Update number of iterations at the exit condition. + Don't redirect nexits always to the loop exit. + Redirect copied edges from latch to the loop exit. + * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan. + * testsuite/gcc.dg/autopar/outer-1.c: New testcase. + * testsuite/gcc.dg/autopar/outer-2.c: New testcase. + * testsuite/gcc.dg/autopar/outer-3.c: New testcase. + * testsuite/gcc.dg/autopar/outer-4.c: New testcase. + * testsuite/gcc.dg/autopar/outer-5.c: New testcase. + * testsuite/gcc.dg/autopar/outer-6.c: New testcase. + +2009-10-22 Jan Hubicka <jh@suse.cz> + + * ipa-cp.c (ipcp_read_summary): Remove now invalid FIXME and + flag_ltrans check. + * ipa-inline.c (cgraph_mark_inline_edge, + cgraph_decide_inlining_of_small_function, + cgraph_decide_inlining, inline_read_summary): Disable indirect inlining + for WPA for time being. + + PR tree-optimize/40556 + * ipa-inline.c (cgraph_early_inlining): Fix iterations condition. + +2009-10-22 Richard Guenther <rguenther@suse.de> + + * lto-streamer.h (lto_symtab_clear_resolution): Remove. + * lto-symtab.c (lto_symtab_clear_resolution): Likewise. + +2009-10-22 Jan Hubicka <jh@suse.cz> + + PR lto/41730 + * ipa-reference.c (has_proper_scope_for_analysis): Add fixme about + global vars. + (check_call): Handle only indirect calls. + (propagate_bits): Update comment. + (write_node_summary_p): Turn bogus check to assert. + (ipa_reference_write_summary): Stream calls_read_all properly. + (ipa_reference_read_summary): Stream in calls_read_all properly. + (read_write_all_from_decl): New function. + (propagate): Handle OVERWRITABLE nodes and external calls here. + * ipa-pre-const.c (check_call): In IPA mode handle indirect calls + only. + (analyze_function): Do not check visibility here. + (add_new_function): We summary OVERWRITABLE too. + (generate_summary): Stream OVERWRITABLE nodes too. + (propagate): Handle external calls and OVERWRITABLE nodes here. + (local_pure_const): Check visibility here. + +2009-10-22 Jan Hubicka <jh@suse.cz> + + * ipa-cp.c (ipcp_write_summary, ipcp_read_summary): New functions. + (pass_ipa_cp): Register them. + (ipcp_init_stage): Analyze all functions for whopr/lto. + (ipcp_propagate_stage): Skip external calls. + (ipcp_iterate_stage): Call ipa_update_after_lto_read if needed. + * ipa-reference.c (write_node_summary_p): Fix thinko about availability. + * cgraphunit.c (ipa_passes): When in lto, ne er produce new summaries; + when in ltrans, skip executing of ipa passes since everything should've + been done. + * ipa-inline.c (cgraph_decide_inlining): Remove FIXMEs. + (inline_generate_summary): Likewise. + (inline_read_summary): New function. + (inline_write_summary): New function. + (pass_ipa_inline): Register new hooks. + * ipa-prop.c: Inlcude lto-streamer.h + (ipa_edge_args_vector): Update declaration. + (ipa_count_arguments, ipa_compute_jump_functions, + ipa_free_edge_args_substructures): Move ipa_edge_args_vector into ggc. + (ipa_write_jump_function, ipa_read_jump_function, ipa_write_node_info, + ipa_read_node_info): New static functions. + (ipa_prop_write_jump_functions, ipa_prop_read_jump_functions): Update. + (duplicate_array): Use xmalloc. + (duplicate_ggc_array): New. + (ipa_edge_duplication_hook): Use it. + (ipa_update_after_lto_read): New function. + * ipa-prop.h (ipa_prop_write_jump_functions, + ipa_prop_read_jump_functions): Declare. + (ipa_pass_through_data, ipa_ancestor_jf_data, ipa_member_ptr_cst, + jump_func_value, ipa_member_ptr_cst, ipa_edge_args): Add GTY markers. + (ipa_edge_args_vector): Move into GGC. + (ipa_check_create_edge_args): Update. + (ipa_update_after_lto_read): New. + * passes.c (ipa_write_summaries_1): When in wpa, do not write summaries. + (ipa_read_summaries): When in ltrans, so not read summaries. + * lto-streamer.c (lto_get_section_name): Add LTO_section_jump_functions. + * lto-streamer.h (LTO_section_jump_functions): New section. + (produce_asm): Declare. + * lto-cgraph.c (output_cgraph): Output edges in reverse order. + * lto-streamer-out.c (produce_asm): Export. + * lto-streamer-in.c: Include tree-pass.h + (input_function): Free dominance info when done. + (lto_read_body): Push ipa_inline in ltrans stage. + * gengtype.c (open_base_files): Add ipa-prop.h into includes. + * Makefile.in (GTFILES): Add ipa-prop.h + +2009-10-22 Matthias Klose <doko@ubuntu.com> + + * doc/install.texi: Document --enable-browser-plugin. + +2009-10-21 Vladimir Makarov <vmakarov@redhat.com> + + * doc/invoke.texi (fira-loop-pressure): Update default value. + * opts.c (decode_options): Remove default value setting for + flag_ira_loop_pressure. + * config/ia64/ia64.c (ia64_override_options): Set + flag_ira_loop_pressure up for -O3. + * config/rs6000/rs6000.c (rs6000_override_options): Ditto. + +2009-10-21 Sebastian Pop <sebastian.pop@amd.com> + + PR tree-optimization/41497 + * tree-scalar-evolution.c (analyze_evolution_in_loop): Return + chrec_dont_know if the evolution function returned by follow_ssa_edge + is constant in the analyzed loop and is not compatible with the + initial value before the loop. + * tree-chrec.h (no_evolution_in_loop_p): Call STRIP_NOPS. + +2009-10-21 Joseph Myers <joseph@codesourcery.com> + + * config/sh/sh.c (nonpic_symbol_mentioned_p): Allow UNSPEC_TPOFF. + +2009-10-21 Jakub Jelinek <jakub@redhat.com> + + PR other/25507 + * doc/invoke.texi: Document -print-multi-os-directory. + +2009-10-21 Jack Howarth <howarth@bromo.med.uc.edu> + + PR c++/41313 + * gcc/config/darwin10.h: Use default_emit_unwind_label. + * gcc/config/darwin.c: Disable -freorder-blocks-and-partition + when darwin_emit_unwind_label is used. + 2009-10-21 Eric Botcazou <ebotcazou@adacore.com> * tree-vect-stmts.c (exist_non_indexing_operands_for_use_p): Tweak |