re PR ipa/68721 (wrong code at -Os and above on x86_64-linux-gnu)
[gcc.git] / gcc / ChangeLog
index 15685a91a62b9ae38e5d4e4c3ed3c8a44b641651..b5ee0be9a537db4dcd709d845c020015570a8987 100644 (file)
@@ -1,3 +1,230 @@
+2015-12-10  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/68721
+       * ipa-split.c (split_function): Record return value properly
+       when the split part doesn't set it.
+
+2015-12-10  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/68806
+       * tree-vect-loop.c (vect_analyze_loop_2): Properly detect
+       reduction chains and ignore SLP reductions.
+
+2015-12-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-if-conv.c (if_convertible_loop_p_1): Do not compute
+       dependences.
+       (if_convertible_loop_p): Adjust.
+
+2015-12-10  Tom de Vries  <tom@codesourcery.com>
+
+       * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove
+       invalid assert.
+
+2015-12-10  Martin Liska  <mliska@suse.cz>
+
+       * tree-vect-data-refs.c: Free an overwritten dataref.
+
+2015-12-09  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR target/68729
+       * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is
+       consistent with modes of the input and output operands when doing
+       reloads to and from floating point registers.  Do reload for all
+       address forms.
+
+2015-12-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/61886
+       PR middle-end/25140
+       * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls
+       (nonoverlapping_component_refs_of_decl_p): Update sanity check.
+       (decl_refs_may_alias_p): Use compare_base_decls.
+       * alias.c: Include cgraph.h
+       (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p.
+       (compare_base_decls): New function.
+       (base_alias_check): Likewise.
+       (memrefs_conflict_p): Likewise.
+       (nonoverlapping_memrefs_p): Likewise.
+       * alias.h (compare_base_decls): Declare.
+
+2015-12-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/61886
+       * ipa-visibility.c (function_and_variable_visibility): Fix vtable
+       rewritting guard.
+
+2015-12-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/61886
+       PR middle-end/25140
+       * ipa-reference.c (ipa_reference_get_not_read_global,
+       ipa_reference_get_not_read_global): Fix WRT aliases.
+       (is_improper): Break out from ...
+       (is_proper_for_analysis): ... here; fix WRT aliases.
+       (analyze_function, generate_summary,
+       ipa_reference_write_optimization_summary,
+       ipa_reference_read_optimization_summary): Use ipa_reference_var_uid.
+       * ipa-refrence.h (ipa_reference_var_uid): New inline.
+       * tree-ssa-alias.c: Revert my accidental previous commit.
+       (ref_maybe_used_by_call_p_1,
+       call_may_clobber_ref_p_1): Use ipa_reference_var_uid.
+
+2015-12-09  Andreas Tobler  <andreast@gcc.gnu.org>
+
+       * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE.
+
+2015-12-09  Aditya Kumar  <aditya.k7@samsung.com>
+           Sebastian Pop  <s.pop@samsung.com>
+
+       * graphite-optimize-isl.c: Include isl/ast_build.h
+       (optimize_isl): Set several isl_options_set_* options.
+
+2015-12-09  Aditya Kumar  <aditya.k7@samsung.com>
+           Sebastian Pop  <s.pop@samsung.com>
+
+       * graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in
+       the same order as adding data reference access functions.
+
+2015-12-09  Aditya Kumar  <aditya.k7@samsung.com>
+           Sebastian Pop  <s.pop@samsung.com>
+
+       * graphite-optimize-isl.c (optimize_isl): Improve dump message.
+
+2015-12-09  Marek Polacek  <polacek@redhat.com>
+
+       PR tree-optimization/66949
+       * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call
+       single_non_singleton_phi_for_edges to get the PHI from
+       factor_out_conditional_conversion.  Use NULL_TREE instead of NULL.
+       (factor_out_conditional_conversion): Adjust declaration.  Make it
+       return the newly-created PHI.
+
+2015-12-09  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/aarch64/aarch64-protos.h
+       (aarch64_cannot_change_mode_class): Bring back.
+       * config/aarch64/aarch64.c
+       (aarch64_cannot_change_mode_class): Likewise.
+       * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
+       * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use
+       zero_extract rather than truncate.
+       (aarch64_movdi_<mode>high): Likewise.
+
+2015-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/68786
+       * tree-if-conv.c: Include builtins.h.
+       (predicate_mem_writes): Put result of get_object_alignment (ref)
+       into second argument's value.
+       * tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum
+       pointer alignment into second argument's value.
+       * tree-data-ref.c (get_references_in_stmt): Use value of second
+       argument for build_aligned_type, and only the type to build
+       a zero second argument for MEM_REF.
+       * internal-fn.c (expand_mask_load_optab_fn,
+       expand_mask_store_optab_fn): Likewise.
+
+2015-12-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/68583
+       * tree-if-conv.c (if_convertible_phi_p): Drop
+       flag_tree_loop_if_convert_stores check in favor of the
+       existing any_mask_load_store check.
+       (insert_gimplified_predicates): Likewise.
+       (combine_blocks): Likewise.
+       (tree_if_conversion): Likewise.
+       (ifcvt_memrefs_wont_trap): Properly check
+       flag_tree_loop_if_convert_stores in all places that can end
+       up introducing store-data-races.
+       (if_convertible_gimple_assign_stmt_p): Remove restriction
+       on flag_tree_loop_if_convert_stores for stores we can if-convert
+       without introducing store-data-races.  Force versioning for
+       all if-converted stores.
+
+2015-12-09  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/68716
+       * tree-ssa-structalias.c (find_func_clobbers): Fix handling of
+       BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL.
+
+2015-12-09  Martin Liska  <mliska@suse.cz>
+
+       * hash-traits.h (struct typed_delete_remove): New function.
+       (typed_delete_remove ::remove): Likewise.
+       * tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace
+       auto_vec with vec.
+       (record_common_cand): Replace XNEW with operator new.
+
+2015-12-09  Martin Liska  <mliska@suse.cz>
+
+       * tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec.
+
+2015-12-09  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/68790
+       * ipa-icf.c (sem_function::param_used_p): Return true
+       if ipa_node_params_sum equals to NULL.
+
+2015-12-09  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/68583
+       * tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally
+       flag and rename predicates to w_predicate, rw_predicate and
+       base_w_predicate.
+       (DR_WRITTEN_AT_LEAST_ONCE): Rename to ...
+       (DR_BASE_W_UNCONDITIONALLY): ... this.
+       (DR_W_UNCONDITIONALLY): Add.
+       (hash_memrefs_baserefs_and_store_DRs_read): Adjust.  Compute
+       unconditionally written separately from read or written.
+       (ifcvt_memrefs_wont_trap): Properly treat reads.
+       (ifcvt_could_trap_p): Inline ...
+       (if_convertible_gimple_assign_stmt_p): ... here.  Refactor
+       to avoid code duplication.
+       (if_convertible_loop_p_1): Adjust and properly initialize
+       predicates.
+
+2015-12-09  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-stmts.c (vectorizable_load): Set new vinfo only
+       if it was not yet set.
+       * tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't
+       overwrite an existing entry.
+
+2015-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call.
+       * c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call.
+       * cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call.
+
+2015-12-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/61886
+       * symtab.c (symtab_node::equal_address_to): New parameter
+       MEMORY_ACCESSED.
+       * cgraph.h (symtab_node::equal_address_to): Update prototype.
+
+2015-12-08  DJ Delorie  <dj@redhat.com>
+
+       * config/rx/rx.opt (-mjsr): Add.
+       * config/rx/predicates.md (rx_call_operand): Avoid overflowing
+       calls when -mjsr.
+       * config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for
+       overflowing jumps.
+       * doc/invoke.texi (-mjsr): Document it.
+
+2015-12-08  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/61886
+       * lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols,
+       lto_symtab_prevailing_decl): MOve to lto-symtab.h.
+       * lto-streamer-out.c (DFS::DFS_write_tree_body): Check that
+       DECL_ABSTRACT_ORIGIN is not error_mark_node.
+
+2015-12-08  David Malcolm  <dmalcolm@redhat.com>
+
+       * tree-nested.c (convert_tramp_reference_stmt): Fix indentation.
+
 2015-12-08  David Malcolm  <dmalcolm@redhat.com>
 
        * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix