OSDN Git Service

* ipa-reference.c (check_call): Noreturn notrhow calls do not write
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5489001..0a42a8a 100644 (file)
@@ -1,3 +1,138 @@
+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.