var-tracking.c (add_stores): Return instead of asserting if old and new values for...
[gcc.git] / gcc / ChangeLog
index 06763f0bcbc0988241350e7b9e52f4964ea1f33f..b7b8012a3cbf741162025acf90fa099ec6089209 100644 (file)
@@ -1,3 +1,783 @@
+2014-06-30  Joseph Myers  <joseph@codesourcery.com>
+
+       * var-tracking.c (add_stores): Return instead of asserting if old
+       and new values for conditional store are the same.
+
+2014-06-30  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/61608
+       PR target/39284
+       * bb-reorder.c (pass_duplicate_computed_gotos::execute): Cleanup
+       the cfg if there were any changes.
+       * passes.def: Revert move of peephole2 after reorder_blocks;
+       move duplicate_computed_gotos before peephole2.
+
+2014-06-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       * except.c (emit_note_eh_region_end): New helper function.
+       (convert_to_eh_region_ranges): Use emit_note_eh_region_end to
+       emit EH_REGION_END note.
+       * jump.c (cleanup_barriers): Do not split a call and its
+       corresponding CALL_ARG_LOCATION note.
+
+2014-06-30  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/61607
+       * tree-ssa-threadedge.c (simplify_control_stmt_condition): Look
+       deeper into the SSA_NAME_VALUE chain.
+
+2014-06-30  Marek Polacek  <polacek@redhat.com>
+
+       * convert.c (convert_to_integer): Don't instrument conversions if the
+       function has no_sanitize_undefined attribute.
+       * ubsan.c: Don't run the ubsan pass if the function has
+       no_sanitize_undefined attribute.
+
+2014-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/invoke.texi (-fsanitize=bounds): Move to the table with
+       -fsanitize=undefined suboptions.
+
+2014-06-30  Alan Lawrence  <alan.lawrence@arm.com>
+
+       * config/aarch64/aarch64-simd.md (vec_perm): Enable for bigendian.
+       * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Remove assert
+       against bigendian and adjust indices.
+
+2014-06-30  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific, aarch64*-*-*): Fix markup.  Reword a bit.
+
+2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       PR target/61633
+       * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
+       Add alternative; make early clobber.  Adjust both split patterns
+       to use operand 0 as the working register.
+
+2014-06-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * ira-build.c (sort_conflict_id_map): Don't call qsort if num is 0,
+       as ira_object_id_map might be NULL, or 1.
+
+2014-06-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
+
+       * loop-invariant.c (get_inv_cost): Handle register class.
+       (gain_for_invariant): Check the register pressure of the inv
+       and its overlapped register class, other than all.
+
+2014-06-30  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi (Optimize Options): Fix descriptions of
+       ipa-cp-loop-hint-bonus and ipa-cp-array-index-hint-bonus.
+
+2014-06-29  David Wohlferd <dw@LimeGreenSocks.com>
+
+       * doc/extend.texi (Function Attributes): Update 'naked' attribute
+       documentation.
+
+2014-06-29  Tobias Grosser <tobias@grosser.es>
+
+       PR bootstrap/61650
+       * graphite-isl-ast-to-gimple.c: Add missing guards.
+
+2014-06-29  Roman Gareev  <gareevroman@gmail.com>
+
+       * Makefile.in: Add the compilation of graphite-isl-ast-to-gimple.o.
+       * common.opt: Add new switch fgraphite-code-generator=[isl|cloog].
+       * flag-types.h: Add new enum fgraphite_generator.
+       * graphite-isl-ast-to-gimple.c: New.
+       * graphite-isl-ast-to-gimple.h: New.
+       * graphite.c (graphite_transform_loops): Add choice of Graphite
+       code generator, which depends on flag_graphite_code_gen.
+
+2014-06-29  Roman Gareev  <gareevroman@gmail.com>
+
+       * graphite-dependences.c (subtract_commutative_associative_deps):
+       Add NULL checking of the following variables: must_raw_no_source,
+       may_raw_no_source, must_war_no_source, may_war_no_source,
+       must_waw_no_source, may_waw_no_source, must_raw, may_raw,
+       must_war, may_war, must_waw, may_waw.
+
+2014-06-29  Roman Gareev  <gareevroman@gmail.com>
+
+       * graphite-clast-to-gimple.c: gloog is renamed to
+       graphite_regenerate_ast_cloog.  gloog_error is renamed to
+       graphite_regenerate_error.
+       * graphite-clast-to-gimple.h: The definition of the struct
+       bb_pbb_def is moved to graphite-htab.h.
+       Add inclusion of the hash-table.h.
+       * graphite-htab.h: The declaration of the function gloog is moved
+       to graphite-clast-to-gimple.h and renamed to
+       graphite_regenerate_ast_cloog.
+       * graphite.c (graphite_transform_loops): gloog is renamed
+       to graphite_regenerate_ast_cloog.
+
+2014-06-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if
+       type is complete.
+       (write_ts_type_common_tree_pointers): Do not stream fields not set
+       for incomplete types; do not stream duplicated fields for variants;
+       sanity check that variant and type match.
+       (write_ts_type_non_common_tree_pointers): Likewise.
+       * tree-streamer-in.c (unpack_ts_type_common_value_fields): Mark in
+       TYPE_SIZE whether type is complete.
+       (lto_input_ts_type_common_tree_pointers): Do same changes as in
+       write_ts_type_common_tree_pointers
+       (lto_input_ts_type_non_common_tree_pointers): Likewise.
+
+2014-06-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraph.c (dump_cgraph_node): Dump init&fini priorities.
+
+2014-06-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-inline.c (remap_type_1): Do not duplicate fields
+       that are shared in between type and its main variant.
+
+2014-06-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
+       of the type.
+       (ipa_set_ancestor_jf) Likewise.
+       (check_stmt_for_type_change): Check that we work on main variant.
+       (detect_type_change): Look into main variant.
+       (compute_known_type_jump_func): Check that main variant has BINFO.
+
+2014-06-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-devirt.c (set_type_binfo): New function.
+       (add_type_duplicate): Use it.
+       (get_odr_type): Sanity check that binfos points to main variants.
+       (get_class_context): Be sure the context's outer_type is main variant.
+       (contains_type_p): Walk main variant.
+       (get_polymorphic_call_info_for_decl): Set outer_type to be
+       main variant.
+       (get_polymorphic_call_info): Likewise.
+       (possible_polymorphic_call_targets): Sanity check that we operate
+       on main variant.
+
+2014-06-28  Jan Hubicka  <hubicka@ucw.cz>
+
+       * stor-layout.c (finish_builtin_struct): Copy fields into the variants.
+
+2014-06-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
+       accidental change due to wide-int branch merge.
+
+2014-06-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_as_compress_debug): Check for assembler
+       compressed debug support.
+       (gcc_cv_ld_compress_debug): Check for linker compressed debug support.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * common.opt (compressed_debug_sections): New enum.
+       (gz, gz=): New options.
+       * gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC): Define.
+       (LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
+       (asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
+       * config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
+       LINK_COMPRESS_DEBUG_SPEC.
+       * config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
+       * opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
+       * doc/invoke.texi (Option Summary, Debugging Options): Add -gz[=type].
+       (Debugging Options): Document -gz[=type].
+
+2014-06-27  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/61160
+       * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
+       args_to_skip, use those from node instead.  Copy args_to_skip and
+       combined_args_to_skip from node to the new thunk.
+       (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
+       (cgraph_create_virtual_clone): Moved computation of
+       combined_args_to_skip...
+       (cgraph_clone_node): ...here, simplify it to bitmap_ior..
+
+2014-06-27  trevor Saunders  <tsaunders@mozilla.com>
+
+       * config/i386/winnt.c (i386_pe_section_type_flags): Remove
+       redundant diagnostic machinary.
+
+2014-06-27  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-math-opts.c (bswap_replace): Fix
+       SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
+
+2014-06-27  Martin Liska  <mliska@suse.cz>
+
+       * gimple.h (gimple_location_safe): New function introduced.
+       * cgraphunit.c (walk_polymorphic_call_targets): Usage
+       of gimple_location_safe replaces gimple_location.
+       (gimple_fold_call): Likewise.
+       * ipa-devirt.c (ipa_devirt): Likewise.
+       * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
+       * ipa.c (walk_polymorphic_call_targets): Likewise.
+       * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
+
+2014-06-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/57233
+       PR tree-optimization/61299
+       * tree-vect-generic.c (get_compute_type, count_type_subparts): New
+       functions.
+       (expand_vector_operations_1): Use them.  If {L,R}ROTATE_EXPR
+       would be lowered to scalar shifts, check if corresponding
+       shifts and vector BIT_IOR_EXPR are supported and don't lower
+       or lower just to narrower vector type in that case.
+       * expmed.c (expand_shift_1): Fix up handling of vector
+       shifts and rotates.
+
+2014-06-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/61586
+       * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
+
+2014-06-26  Jan Hubicka  <hubicka@ucw.cz>
+
+       * doc/invoke.texi (-fsemantic-interposition): Document.
+       * common.opt (fsemantic-interposition): New flag.
+       * varasm.c (decl_replaceable_p): Use it.
+
+2014-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR target/61542
+       * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
+       extraction other than index 3.
+
+2014-06-26  Teresa Johnson  <tejohnson@google.com>
+
+       * c-family/c-common.h (get_dump_info): Declare.
+       * c-family/c-gimplify.c (c_genericize): Use saved dump files.
+       * c-family/c-opts.c (c_common_parse_file): Begin and end dumps
+       once around parsing invocation.
+       (get_dump_info): New function.
+       * cp/class.c (dump_class_hierarchy): Use saved dump files.
+       (dump_vtable): Ditto.
+       (dump_vtt): Ditto.
+
+2014-06-26  Teresa Johnson  <tejohnson@google.com>
+
+       * doc/invoke.texi: Fix typo.
+       * dumpfile.c: Add support for documented -fdump-* options
+       optimized/missed/note/optall.
+
+2014-06-26  Martin Jambor  <mjambor@suse.cz>
+
+       * params.def (PARAM_ALLOW_LOAD_DATA_RACES)
+       (PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
+       (PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
+       (PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
+       * opts.c (default_options_optimization): Set
+       PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
+       * doc/invoke.texi (allow-load-data-races)
+       (allow-packed-load-data-races, allow-packed-store-data-races): Removed.
+       (allow-store-data-races): Document the new default.
+
+2014-06-26  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
+       renamed to ipa_impossible_devirt_target.  Fix typo.
+       * ipa-prop.h (ipa_impossible_devirt_target): Declare.
+       * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
+       ipa_impossible_devirt_target.
+
+2014-06-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/61607
+       * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
+       explaining why we restrict copies on loop depth.
+       * tree-ssa-dom.c (cprop_operand): Remove restriction on
+       on loop depth.
+       (record_equivalences_from_phis): Instead add it here.
+
+2014-06-26  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
+       (LTO_WRAPPER_OBJS): New variable.
+       (lto-wrapper$(exeext)): Use it.
+       * collect2.c: Include "collect-utils.h".
+       (verbose, debug): Remove variables.
+       (at_file_supplied): No longer static.
+       (tool_name): New variable.
+       (do_wait, fork_execute, maybe_unlink): Don't declare.
+       (tool_cleanup): No longer static.
+       (notice): Remove function.
+       (maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
+       fork_execute calls.
+       (collect_wait, do_wait, collect_execute): Remove functions.
+       (maybe_unlink): No longer static.
+       * collect2.h (verbose, debug): Don't declare.
+       (at_file_supplied): Declare.
+       * collect-utils.c (utils_cleanup): New arg from_signal.  All callers
+       changed.
+       (collect_execute): Replace with implementation from collect2, plus a
+       new arg use_atfile.  All callers changed.
+       (collect_wait): Replace with implementation from collect2.
+       (maybe_unlink_file): Remove function.
+       (fork_execute): Replace with implementation from collect2, plus a
+       new arg use_atfile.  All callers changed.
+       (do_wait): Add call to utils_cleanup to the error path.
+       * collect-utils.h (collect_execute, fork_execute, utils_cleanup)
+       (tool_cleanup): Adjust declarations.
+       * lto-wrapper.c (tool_cleanup): Add unused bool argument.
+       * tlink.c: Include "collect-utils.h".
+       (tlink_execute): New arg use_atfile.  All callers changed.
+       (tlink_init, tlink_execute): Remove declarations.
+
+       * collect-utils.c (save_temps): New variable.
+       (do_wait): Use it instead of debug.  Use fatal_error.
+       * collect-utils.h (save_temps): Declare.
+       * collect2.c (verbose): Rename from vflag.  All uses changed.
+       (tool_cleanup): New function, copied from collect_atexit.
+       (collect_atexit, handler): Just call it.
+       * collect2.h (verbose): Declaration renamed from vflag.
+       * lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
+       debug.
+
+       * Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
+       (lto-wrapper$(exeext)): Link with collect-utils.o.
+       * collect-utils.c: New file.
+       * collect-utils.h: New file.
+       * lto-wrapper.c: Include "collect-utils.h".
+       (args_name): Delete variable.
+       (tool_name): New variable.
+       (tool_cleanup): New function.
+       (maybe_unlink): Renamed from maybe_unlink_file.  All callers changed.
+       (lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait)
+       (fork_execute): Remove functions.
+
+2014-06-26  Nick Clifton  <nickc@redhat.com>
+
+       * config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
+
+       * doc/extend.texi (Function Attributes): Fix typo in description
+       of RX vector attribute.
+
+2014-06-26  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config.gcc (supported_defaults): Error when passing either
+       --with-tune or --with-arch in conjunction with --with-cpu for ARM.
+
+2014-06-26  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-dom.c (cprop_operand): Remove restriction on
+       propagating volatile pointers.
+
+2014-06-26  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/61607
+       * tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
+       loop if we redirected its latch edge.
+       (thread_block_1): Do not cancel loops prematurely.
+
+2014-06-25  Jan Hubicka  <hubicka@ucw.cz>
+
+       * toplev.c (backend_init_target): Move init_emit_regs and
+       init_regs to...
+       (backend_init) ... here; skip ira_init_once and backend_init_target.
+       (target_reinit) ... and here; clear
+       this_target_rtl->lang_dependent_initialized.
+       (lang_dependent_init_target): Clear
+       this_target_rtl->lang_dependent_initialized;
+       break out rtl initialization to ...
+       (initialize_rtl): ... here; call also backend_init_target
+       and ira_init_once.
+       * toplev.h (initialize_rtl): New function.
+       * function.c: Include toplev.h
+       (init_function_start): Call initialize_rtl.
+       * rtl.h (target_rtl): Add target_specific_initialized,
+       lang_dependent_initialized.
+
+2014-06-25  Paul Gortmaker  <paul.gortmaker@windriver.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (set_multilib_dir): Malloc "." pointer as well.
+
+2014-06-25  Tom de Vries  <tom@codesourcery.com>
+
+       * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
+
+2014-06-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * tree-ssa-forwprop.c (associate_plusminus): For widening conversions
+       check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
+       Issue a strict overflow warning if appropriate.
+
+2014-06-25  Martin Liska  <mliska@suse.cz>
+
+       IPA REF refactoring
+       * Makefile.in: Removed header file (ipa-ref-inline.h).
+       * cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
+       called.
+       (cgraph_speculative_call_info): Likewise.
+       (cgraph_for_node_thunks_and_aliases): Likewise.
+       (cgraph_for_node_and_aliases): Likewise.
+       (verify_cgraph_node): Likewise.
+       * cgraph.h: Batch of IPA REF functions become member functions of
+       symtab_node: add_reference, maybe_add_reference, clone_references,
+       clone_referring, clone_reference, find_reference,
+       remove_stmt_references, remove_all_references,
+       remove_all_referring, dump_references, dump_referring,
+       has_alias_p, iterate_reference, iterate_referring.
+       * cgraphbuild.c (record_reference): New IPA REF function used.
+       (record_type_list): Likewise.
+       (record_eh_tables): Likewise.
+       (mark_address): Likewise.
+       (mark_load): Likewise.
+       (mark_store): Likewise.
+       (pass_build_cgraph_edges): Likewise.
+       (rebuild_cgraph_edge): Likewise.
+       (cgraph_rebuild_references): Likewise.
+       (pass_remove_cgraph_callee_edges): Likewise.
+       * cgraphclones.c (cgraph_clone_node): Likewise.
+       (cgraph_create_virtual_clone): Likewise.
+       (cgraph_materialize_clone): Likewise.
+       (cgraph_materialize_all_clones): Likewise.
+       * cgraphunit.c (cgraph_reset_node): Likewise.
+       (cgraph_reset_node): Likewise.
+       (analyze_function): Likewise.
+       (assemble_thunks_and_aliases): Likewise.
+       (expand_function): Likewise.
+       * ipa-comdats.c (propagate_comdat_group): Likewise.
+       (enqueue_references): Likewise.
+       * ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
+       (create_specialized_node): Likewise.
+       * ipa-devirt.c (referenced_from_vtable_p): Likewise.
+       * ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
+       * ipa-inline.c (reset_edge_caches): Likewise.
+       (update_caller_keys): Likewise.
+       (execute): Likewise.
+       * ipa-prop.c (remove_described_reference): Likewise.
+       (propagate_controlled_uses): Likewise.
+       (ipa_edge_duplication_hook): Likewise.
+       (ipa_modify_call_arguments): Likewise.
+       * ipa-pure-const.c (propagate_pure_const): Likewise.
+       * ipa-ref-inline.h: Header file removed, functions moved
+       to symtab_node class.
+       * ipa-ref.c (remove_reference): New class member function.
+       (cannot_lead_to_return): New class member function.
+       (referring_ref_list): Likewise.
+       (referred_ref_list): Likewise.
+       Rest of functions moved to symtab_node class.
+       * ipa-ref.h: New member functions remove_reference,
+       cannot_lead_to_return, referring_ref_list, referred_ref_list added
+       to ipa_ref class.
+       ipa_ref_list class has new member functions: first_reference,
+       first_referring, clear, nreferences.
+       * ipa-reference.c (analyze_function): New IPA REF function used.
+       (write_node_summary_p): Likewise.
+       (ipa_reference_write_optimization_summary): Likewise.
+       * ipa-split.c (split_function): Likewise.
+       * ipa-utils.c (ipa_reverse_postorder): Likewise.
+       * ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
+       (function_and_variable_visibility): Likewise.
+       * ipa.c (has_addr_references_p): Likewise.
+       (process_references): Argument type changed.
+       (symtab_remove_unreachable_nodes): New IPA REF function used.
+       (process_references): Likewise.
+       (set_writeonly_bit): Likewise.
+       * lto-cgraph.c: Implementation of new symtab_node member functions
+       that uses new IPA REF functions.
+       * lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF
+       function used.
+       * lto-streamer-out.c (output_symbol_p): Likewise.
+       * lto-streamer.h (referenced_from_this_partition_p): Argument type
+       changed.
+       * symtab.c: Implementation of new IPA REF API.
+       * trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
+       (ipa_tm_create_version): Likewise.
+       (ipa_tm_execute): Likewise.
+       * tree-emutls.c (gen_emutls_addr): Likewise.
+       * tree-inline.c (copy_bb): Likewise.
+       (delete_unreachable_blocks_update_callgraph): Likewise.
+       * varpool.c (varpool_remove_unreferenced_decls): Likewise.
+       (varpool_for_node_and_aliases): Likewise.
+
+2014-06-25  Trevor Saunders  <tsaunders@mozilla.com>
+
+       * config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
+
+2014-06-25  Trevor Saunders  <tsaunders@mozilla.com>
+
+       PR bootstrap/61598
+       * fold-const.c (fold_checksum_tree): Use a hash_table of const
+       tree_node * instead of tree_node *.
+       (fold): Adjust.
+       (print_fold_checksum): Likewise.
+       (fold_check_failed): Likewise.
+       (debug_fold_checksum): Likewise.
+       (fold_build1_stat_loc): Likewise.
+       (fold_build2_stat_loc): Likewise.
+       (fold_build3_stat_loc): Likewise.
+       (fold_build_call_array_loc): Likewise.
+
+2014-06-25  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
+       implementation with call to...
+       * config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
+       function.
+       * config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
+       Declare.
+
+2014-06-25  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/57742
+       * tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
+       after replacing the statement.
+
+2014-06-25  Nick Clifton  <nickc@redhat.com>
+
+       * config/v850/v850.c (GHS_default_section_names): Change to const
+       char * type.
+       (GHS_current_section_names): Likewise.
+       (v850_insert_attributes): Do not build strings, just assign the
+       names directly.  Change the type of 'chosen_section' to const
+       char*.
+       * config/v850/v850-c.c (ghs_pragma_section): Assign the alias
+       directly to the array entry.
+       * config/v850/v850.h (GHS_default_section_names): Change to const
+       char * type.
+       (GHS_current_section_names): Likewise.
+
+2014-06-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
+       (LANG_HOOKS_DECLS): Add it.
+       * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
+       has correct type.
+       * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
+       * langhooks.h (struct lang_hooks_for_decls): Add
+       omp_clause_linear_ctor hook.
+       * omp-low.c (lower_rec_input_clauses): Set max_vf even if
+       OMP_CLAUSE_LINEAR_ARRAY is set.  Don't fold_convert
+       OMP_CLAUSE_LINEAR_STEP.  For OMP_CLAUSE_LINEAR_ARRAY in
+       combined simd loop use omp_clause_linear_ctor hook.
+
+2014-06-24  Cong Hou  <congh@google.com>
+
+       * tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
+       pattern recognition.
+       (type_conversion_p): PROMOTION is true if it's a type promotion
+       conversion, and false otherwise.  Return true if the given expression
+       is a type conversion one.
+       * tree-vectorizer.h: Adjust the number of patterns.
+       * tree.def: Add SAD_EXPR.
+       * optabs.def: Add sad_optab.
+       * cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
+       * expr.c (expand_expr_real_2): Likewise.
+       * gimple-pretty-print.c (dump_ternary_rhs): Likewise.
+       * gimple.c (get_gimple_rhs_num_ops): Likewise.
+       * optabs.c (optab_for_tree_code): Likewise.
+       * tree-cfg.c (estimate_operator_cost): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
+       * config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
+       * doc/generic.texi: Add document for SAD_EXPR.
+       * doc/md.texi: Add document for ssad and usad.
+
+2014-06-24  Trevor Saunders  <tsaunders@mozilla.com>
+
+       * config/i386/winnt.c (i386_pe_section_type_flags): Fix const
+       qualification in cast.
+
+2014-06-24  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
+       * tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
+       * tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
+       (tree_function_decl): ... here.
+       * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
+       streaming of vindex to ...
+       (write_ts_function_decl_tree_pointers): ... here.
+       * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
+       Do not stream DECL_VINDEX.
+       (lto_input_ts_function_decl_tree_pointers): Stream it here.
+
+2014-06-24  Catherine Moore  <clm@codesourcery.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       * config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
+       * config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
+       * config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
+
+2014-06-24  Marc Glisse  <marc.glisse@inria.fr>
+
+       * doc/invoke.texi (Warning Options): Remove duplicated
+       -Wmaybe-uninitialized.
+
+2014-06-24  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/57742
+       * tree-ssa-strlen.c (get_string_length): Ignore malloc.
+       (handle_builtin_malloc, handle_builtin_memset): New functions.
+       (strlen_optimize_stmt): Call them.
+       * passes.def: Move strlen after loop+dom but before vrp.
+
+2014-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/61570
+       * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
+       model family 6 CPU with has_longmode never use a CPU without
+       64-bit support.
+
+2014-06-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/61570
+       * config/i386/driver-i386.c (host_detect_local_cpu): Revert
+       the last change.
+
+2014-06-24  Trevor Saunders  <tsaunders@mozilla.com>
+
+       * alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
+       * dominance.c (iterate_fix_dominators): Use hash_map instead of
+       pointer_map.
+       * hash-map.h: New file.
+       * ipa-comdats.c: Use hash_map instead of pointer_map.
+       * ipa.c: Likewise.
+       * lto-section-out.c: Adjust.
+       * lto-streamer.h: Replace pointer_map with hash_map.
+       * symtab.c (verify_symtab): Likewise.
+       * tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
+       * tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
+       * tree-streamer.h: Likewise.
+       * tree-streamer.c: Adjust.
+       * pointer-set.h: Remove pointer_map.
+
+2014-06-24  Trevor Saunders  <tsaunders@mozilla.com>
+
+       * hash-table.h: Add a template arg to choose between storing values
+       and storing pointers to values, and then provide partial
+       specializations for both.
+       * tree-browser.c (tree_upper_hasher): Provide the type the hash table
+       should store, not the type values should point to.
+       * tree-into-ssa.c (var_info_hasher): Likewise.
+       * tree-ssa-dom.c (expr_elt_hasher): Likewise.
+       * tree-complex.c: Adjust.
+       * tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
+       table instead of int_tree_map *.
+       * tree-parloops.c: Adjust.
+       * tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
+       type is being stored.
+       * tree-vectorizer.c: Adjust.
+
+2014-06-24  Trevor Saunders  <tsaunders@mozilla.com>
+
+       * hash-table.h: Remove a layer of indirection from hash_table so that
+       it contains the hash table's data instead of a pointer to the data.
+       * alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
+       config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
+       config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
+       data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
+       fold-const.c, gcse.c, ggc-common.c,
+       gimple-ssa-strength-reduction.c, gimplify.c,
+       graphite-clast-to-gimple.c, graphite-dependences.c,
+       graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
+       ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
+       loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
+       lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
+       postreload-gcse.c, sese.c, statistics.c, store-motion.c,
+       trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
+       tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
+       tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
+       tree-ssa-live.c, tree-ssa-loop-im.c,
+       tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
+       tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
+       tree-ssa-structalias.c, tree-ssa-tail-merge.c,
+       tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
+       tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
+       tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
+       vtable-verify.c, vtable-verify.h: Adjust.
+
+2014-06-24  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/61572
+       * tree-ssa-sink.c (statement_sink_location): Do not sink
+       loads from hard registers.
+
+2014-06-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
+       not mentioned in clauses use private clause if the iterator is
+       declared in #pragma omp for simd, and when adding lastprivate
+       instead, add it to the outer #pragma omp for too.  Diagnose
+       if the variable is private in outer context.  For simd collapse > 1
+       loops, replace all iterators with temporaries.
+       * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
+       same even in collapse > 1 loops.
+
+       * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
+       OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is
+       non-NULL.
+       <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
+       (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is
+       non-NULL.
+       (gimplify_adjust_omp_clauses): Likewise.
+       * omp-low.c (lower_rec_simd_input_clauses,
+       lower_rec_input_clauses, expand_omp_simd): Handle non-constant
+       safelen the same as safelen(1).
+       * tree-nested.c (convert_nonlocal_omp_clauses,
+       convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED.  For
+       OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
+       (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
+       Fixup handling of GIMPLE_OMP_TARGET.
+       (convert_tramp_reference_stmt, convert_gimple_call): Handle
+       GIMPLE_OMP_TARGET.
+
+2014-06-24  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR tree-optimization/61554
+       * tree-ssa-propagate.c: Include "bitmap.h".
+       (substitute_and_fold_dom_walker): Add 'bitmap need_eh_cleanup' member,
+       properly update constructor/destructor.
+       (substitute_and_fold_dom_walker::before_dom_children):
+       Remove call to gimple_purge_dead_eh_edges, add bb->index to
+       need_eh_cleaup instead.
+       (substitute_and_fold): Call gimple_purge_all_dead_eh_edges on
+       need_eh_cleanup.
+
+2014-06-23  Jan Hubicka  <hubicka@ucw.cz>
+
+       * varpool.c (dump_varpool_node): Dump used_by_single_function.
+       * tree-pass.h (make_pass_ipa_single_use): New pass.
+       * cgraph.h (used_by_single_function): New flag.
+       * lto-cgraph.c (lto_output_varpool_node, input_varpool_node):
+       Stream it.
+       * passes.def (pass_ipa_single_use): Scedule.
+       * ipa.c (BOTTOM): New macro.
+       (meet): New function
+       (propagate_single_user): New function.
+       (ipa_single_use): New function.
+       (pass_data_ipa_single_use): New pass.
+       (pass_ipa_single_use): New pass.
+       (pass_ipa_single_use::gate): New gate.
+       (make_pass_ipa_single_use): New function.
+
+2014-06-23  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/39284
+       * passes.def (peephole2): Move peephole2 pass before sched2 pass.
+       * config/i386/i386.md (peehole2): Combine memories and indirect jumps.
+
+2014-06-23  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-loop.c (gate_loop): New function.
+       (pass_tree_loop::gate): Call it.
+       (pass_data_tree_no_loop, pass_tree_no_loop,
+       make_pass_tree_no_loop): New.
+       * tree-vectorizer.c: Include tree-scalar-evolution.c
+       (pass_slp_vectorize::execute): Initialize loops and SCEV if
+       required.
+       (pass_slp_vectorize::clone): New method.
+       * timevar.def (TV_TREE_NOLOOP): New.
+       * tree-pass.h (make_pass_tree_no_loop): Declare.
+       * passes.def (pass_tree_no_loop): New pass group with
+       SLP vectorizer.
+
 2014-06-23  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/61570
        * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
        to zero on debug statements.
 
-2014-06-19  Alan Lawrence  <alan.lawrence@arm.com>
+2014-06-23  Alan Lawrence  <alan.lawrence@arm.com>
 
        PR target/60825
        * config/aarch64/aarch64-builtins.c (aarch64_types_unop_qualifiers):
        vshld_n_s64, vshrd_n_s64, vslid_n_s64, vsrad_n_s64, vsrid_n_s64):
        Fix type signature; remove cast.
 
-2014-06-19  Alan Lawrence  <alan.lawrence@arm.com>
+2014-06-23  Alan Lawrence  <alan.lawrence@arm.com>
 
        PR target/60825
        * config/aarch64/aarch64.c (aarch64_simd_mangle_map): Add entry for
        variant but not df.
        (vreinterpretv1df*, vreinterpret*v1df): New.
        (vreinterpretdf*, vreinterpret*df): Remove.
-       * config/aarch64/aarch64-simd.md (aarch64_create, aarch64_reinterpret*):
-       Generate V1DFmode pattern not DFmode.
+       * config/aarch64/aarch64-simd.md (aarch64_create,
+       aarch64_reinterpret*): Generate V1DFmode pattern not DFmode.
        * config/aarch64/iterators.md (VD_RE): Include V1DF, remove DF.
        (VD1): New.
        * config/aarch64/arm_neon.h (float64x1_t): typedef with gcc extensions.
 
 2014-06-23  Jan Hubicka  <hubicka@ucw.cz>
 
-       * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
-       directly.
+       * lto-cgraph.c (lto_output_node, input_node): Set/get init/fini
+       priority directly.
 
 2014-06-23  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
 
        expand variant and aarch64_emit_call_insn.
 
 2014-06-18  Radovan Obradovic  <robradovic@mips.com>
-            Tom de Vries  <tom@codesourcery.com>
+           Tom de Vries  <tom@codesourcery.com>
 
        * config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
        * config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
        * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
        reach the head.
 
+2014-06-18  Olivier Hainque  <hainque@adacore.com>
+
+       * tree-core.h (tree_block): Add an "end_locus" field, allowing
+       memorization of the end of block source location.
+       * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
+       * gimplify.c (gimplify_bind_expr): Propagate the block start and
+       end source location info we have on the block entry/exit code we
+       generate.
+
 2014-06-18  Richard Biener  <rguenther@suse.de>
 
        * common.opt (fssa-phiopt): New option.
        * tree-vrp.c (vrp_visit_phi_node): If the compare of old and
        new range fails, drop to varying.
 
+2014-05-28  Olivier Hainque  <hainque@adacore.com>
+
+       * config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
+       (CPP_SPEC): Add entry for -mcpu=8548.
+       * config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
+       * config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
+
 2014-05-28  Tom de Vries  <tom@codesourcery.com>
 
        * lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
        * doc/extend.texi (Local Labels): Note that label differences are
        not supported for AVR.
 
+2014-05-28  Richard Sandiford  <rdsandiford@googlemail.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * rtl.h (set_for_reg_notes): Declare.
+       * emit-rtl.c (set_for_reg_notes): New function.
+       (set_unique_reg_note): Use it.
+       * optabs.c (add_equal_note): Likewise
+
 2014-05-27  Andrew Pinski  <apinski@cavium.com>
 
        * config/aarch64/aarch64.md (stack_protect_set_<mode>):