+2010-06-28 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (convert_callers): New parameter, change fndecls of
+ recursive calls.
+ (modify_function): Pass the old decl to convert_callers.
+
+2010-06-28 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_init_cloned_node): Replace calls to
+ ipa_check_create_node_params and ipa_initialize_node_params with
+ checking asserts they are not necessary.
+
+2010-06-28 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/44687
+ * ipa-split.c (split_function): Use DECL_RESULT to store return value.
+
+2010-06-28 Martin Jambor <mjambor@suse.cz>
+
+ PR c++/44535
+ * gimple-fold.c (get_first_base_binfo_with_virtuals): New function.
+ (gimple_get_relevant_ref_binfo): Use get_first_base_binfo_with_virtuals
+ instead of BINFO_BASE_BINFO.
+
+2010-06-28 Michael Matz <matz@suse.de>
+
+ PR middle-end/44592
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Maintain
+ proper VDEF chain for intermediate stores in the sequence.
+
+2010-06-28 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/44357
+ * ipa-inline.c (add_new_edges_to_heap): Do not add edges to uninlinable
+ functions.
+
+2010-06-28 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
+
+ * config.gcc (powerpc*-*-*): Handle titan.
+ * config/rs6000/rs6000.c (titan_cost): New costs.
+ (rs6000_override_options): Add "titan" to processor_target_table.
+ Add Titan to branch alignment logic.
+ Correctly set rs6000_cost for titan.
+ * config/rs6000/rs6000.md (cpu): Add titan. Include "titan.md".
+ * config/rs6000/titan.md: New file.
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan.
+
+2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-browser.c (TB_history_stack): Convert to a VEC.
+ (TB_SET_HEAD): Adjust for new type of TB_history_stack.
+ (TB_history_prev): Likewise.
+
+2010-06-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ * vec.h (vec_heap_free): Add parentheses around free.
+
+2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h: Poison GCC_EXCEPT_H for front-end files.
+
+ * langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
+ langhook.
+ * langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
+ Define to NULL by default.
+ * except.h: Define GCC_EXCEPT_H.
+ (doing_eh): Remove prototype.
+ (init_eh, init_eh_for_function): Move prototypes to toplev.h.
+ (lang_protect_cleanup_actions): Remove.
+ * except.c (lang_protect_cleanup_actions): Remove.
+ (doing_eh): Remove.
+ (gen_eh_region): Don't check doing_eh here.
+ * toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
+ * tree-eh.c (honor_protect_cleanup_actions): Use new langhook
+ instead of lang_protect_cleanup_actions.
+ * omp-low.c (maybe_catch_exception): Likewise.
+ * Makefile.in: Update dependencies.
+
+2010-06-28 Bingfeng Mei <bmei@broadcom.com>
+
+ * cgraph.h (struct varpool_node): new used_from_object_file flag.
+ (struct cgraph_local_info): new used_from_object_file flag.
+ * cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
+ (cgraph_clone_node): initialize used_from_object_file.
+ (cgraph_create_virtual_clone): initialize used_from_object_file.
+ * lto-symbtab.c (lto_symtab_merge_decls_1): Set
+ used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
+ when compiling with -fwhole-program.
+ (lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
+ internal resolver.
+ * ipa.c (function_and_variable_visibility): Set externally_visible
+ flag of varpool_node if used_from_object_file flag is set.
+ (cgraph_externally_visible_p): check used_from_object_file flag.
+ * doc/invoke.texi (-fwhole-program option): Change description of
+ externally_visible attribute accordingly.
+ * doc/extend.texi (externally_visible): Ditto.
+
+2010-06-27 Jan Hubicka <jh@suse.cz>
+
+ * params.def (max-inline-insns-auto): Default to 40.
+ * doc/invoke.texi (max-inline-insns-auto): Document the change.
+
+2010-06-27 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44671
+ PR middle-end/44686
+ * tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on signature
+ change.
+ * ipa-split.c (split_function): Always clear DECL_BUILT_IN.
+ * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
+
+2010-06-27 Anatoly Sokolov <aesok@post.ru>
+
+ * target.h (struct gcc_target): Add register_move_cost field.
+ * target-def.h (TARGET_REGISTER_MOVE_COST): New.
+ (TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
+ * targhooks.c (default_register_move_cost): New function.
+ * targhooks.h (default_register_move_cost): Declare function.
+ * defaults.h (REGISTER_MOVE_COST): Delete.
+ * ira-int.h (ira_register_move_cost): Update comment.
+ * ira.c: (ira_register_move_cost): Update comment.
+ * reload.h (register_move_cost): Declare.
+ * reginfo.c (register_move_cost): New function.
+ (move_cost): Update comment.
+ (init_move_cost, memory_move_secondary_cost): Replace
+ REGISTER_MOVE_COST with register_move_cost.
+ * postreload.c (reload_cse_simplify_set): (Ditto.).
+ * reload.c (find_valid_class, find_reloads): (Ditto.).
+ * reload1.c (choose_reload_regs): (Ditto.).
+ * doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
+ (REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
+ * doc/md.texi (can_create_pseudo_p): Update documentation.
+
+ * config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
+ * config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
+ * config/i386/i386.h (ix86_memory_move_cost): Make static.
+ (TARGET_MEMORY_MOVE_COST): Define.
+
+ * config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
+ * config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
+ * config/ia64/ia64.h (ia64_memory_move_cost): Make static.
+ (TARGET_MEMORY_MOVE_COST): Define.
+
+2010-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44683
+ * tree-ssa-dom.c (record_edge_info): Record equivalences for the
+ false edge from the inverted condition.
+
+2010-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44684
+ * tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
+ (stmt_may_clobber_ref_p_1): Do not bother to call the oracle
+ for register LHS. Or non-store assignments.
+
+2010-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_emit_set_const32): Make static.
+ (sparc_emit_set_const64): Likewise. Remove disabled code.
+ * config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
+ (sparc_emit_set_const64): Likewise.
+
+2010-06-26 Catherine Moore <clm@codesourcery.com>
+
+ * config/mips/mips.md (alu_type): New attribute.
+ (type): Infer type from alu_type.
+ (*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
+ *baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
+ *subsi3_extended, negsi2, negdi2, *low<mode>,
+ *low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
+ xor<mode>3, *nor<mode>3,
+ *zero_extend<GPR:mode>_trunc<SHORT:mode>,
+ *zero_extendhi_truncqi): Set alu_type instead of type.
+
+2010-06-26 Douglas B Rupp <rupp@gnat.com>
+
+ * config/alpha/alpha.c (alpha_need_linkage): Adjust
+ splay_tree_new_ggc call.
+ (alpha_use_linkage): Likewise.
+
+2010-06-26 Joseph Myers <joseph@codesourcery.com>
+
+ * collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
+ * doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
+ * gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
+ (static_specs): Remove switches_need_spaces.
+ (process_command, do_self_spec): Hardcode handling "-o" instead of
+ checking switches_need_spaces.
+ * system.h (SWITCHES_NEED_SPACES): Poison.
+
+2010-06-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44393
+ * tree-loop-distribution.c (generate_loops_for_partition): Fix
+ stmt removal and VOP renaming.
+ (generate_memset_zero): Remove redundant stmt updating.
+ * tree-flow.h (mark_virtual_ops_in_bb): Remove.
+ * tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
+
+2010-06-26 Jan Hubicka <jh@suse.cz>
+
+ * ipa-split.c (consider_split): PHI in entry block is OK as long as all
+ edges comming from header are equivalent.
+ (visit_bb): Handle PHIs correctly.
+ * tree-inline.c (copy_phis_for_bb): Be able to copy
+ PHI from entry edge.
+ (copy_cfg_body): Produce edge from entry BB before copying
+ PHIs.
+
+2010-06-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/44674
+ * tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
+ decls. Handle LABEL_DECLs like FUNCTION_DECLs.
+
+2010-06-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
+ add_infile, alloc_switch): New.
+ (process_command): Remove variable lang_n_infiles. Process
+ options in a single pass. Use new functions for allocating
+ infiles and switches arrays. Properly skip operands of
+ -Xpreprocessor and -Xassembler.
+
+2010-06-26 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/44671
+ * cgraphunit.c (cgraph_function_versioning): Remove wrong
+ cgraph_make_decl_local call; fix typo copying RTL data.
+
+2010-06-25 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
+ (m32c_output_aligned_common): Likewise.
+ * config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
+ * config/m32c/m32c-pragma.c (m32c_pragma_address): New.
+ (m32c_register_pragmas): Register it.
+ * config/m32c/m32c.c (m32c_get_pragma_address): New.
+ (m32c_insert_attributes): Set #pragma address decls volatile.
+ (pragma_entry_eq): New.
+ (pragma_entry_hash): New.
+ (m32c_note_pragma_address): New.
+ (m32c_get_pragma_address): New.
+ (m32c_output_aligned_common): New.
+ * doc/extend.texi: Document the new pragma.
+
+ * config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
+ also.
+ * config/m32c/predicates.md (m32c_any_operand): Check the code
+ instead of memory_operand so as to allow matching volatile MEMs.
+ (m32c_nonimmediate_operand): Likewise.
+ (mra_operand): Allow volatiles.
+
+2010-06-25 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/44610
+ * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
+ address if the offset is unknown.
+
+2010-06-25 Douglas B Rupp <rupp@gnat.com>
+
+ * dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
+ * dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
+ * config/ia64/ia64-protos.h (ia64_start_function): Declare.
+ * config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
+ to ia64_start_function. Invoke it.
+ * config/ia64/ia64.c (ia64_start_function): Call new function
+ dwarf2out_vms_debug_main_pointer.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (insert_gimplified_predicates): Do not insert
+ statements computing the true predicate.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (init_bb_predicate): Initialize the predicate
+ to boolean_true_node.
+ (reset_bb_predicate): New.
+ (predicate_bbs): Call reset_bb_predicate.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-if-conv.c (combine_blocks): Remove FIXME comment.
+ (tree_if_conversion): Returns true when something has been changed.
+ (main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
+ changed something.
+
+2010-06-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
+ * dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
+ * tree-if-conv.c: Include dbgcnt.h.
+ (tree_if_conversion): Use if_conversion_tree to count the number of
+ if-convertible loops.
+
2010-06-25 Changpeng Fang <changpeng.fang@amd.com>
* common.opt (fprefetch-loop-arrays): Re-define
with only a call to ipa_analyze_node.
* ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
node with only a call to ipa_analyze_node.
-
+
2010-06-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
* doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
-
+
2010-06-25 Jan Hubicka <jh@suse.cz>
* tree-pass.h (pass_split_functions): Declare.
* tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
* gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
(gimplify_expr): Likewise.
-
+
2010-06-25 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering