]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/ChangeLog
PR ipa/90401
[thirdparty/gcc.git] / gcc / ChangeLog
index 3571664b16081652bd9f8aee543d40f1940c663f..95b3d2270ea4b4d03f28912db0ddafbcf6d13652 100644 (file)
@@ -1,3 +1,916 @@
+2019-06-14  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR ipa/90401
+       * ipa-prop.c (add_to_agg_contents_list): New function.
+       (clobber_by_agg_contents_list_p): Likewise.
+       (extract_mem_content): Likewise.
+       (get_place_in_agg_contents_list): Delete.
+       (determine_known_aggregate_parts): Renamed from
+       determine_locally_known_aggregate_parts.  New parameter
+       aa_walk_budget_p.
+
+2019-06-13  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/90662
+       * tree-ssa-strlen.c (get_stridx): Convert fold_build2 operands
+       to the same type.
+
+2019-06-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR bootstrap/90873
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Also check that
+       dbase is not TARGET_MEM_REF.
+
+2019-06-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (SWIM1248s): Rename from SWIM1248x.
+       Update all uses.
+       (and<mode>3): Use gen_extend_insn instead of indirect functions.
+       Do not generate DImode extends for 32bit targets.
+       (and->zext post-reload splitter): Use gen_extend_insn
+       instead of indirect functions.
+       (anddi->zext pre-reload splitter): New.
+       (*zext<mode>_doubleword_and): Remove.
+       (*zext<mode>_doubleword): Ditto.
+       (*zextsi_doubleword): Dittto.
+
+2019-06-13  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
+       Use gen_sub3_insn instead of indirect function.
+       (ix86_expand_ashl_const): Use gen_add2_insn instead of
+       indirect function.
+       (ix86_adjust_counter): Ditto.
+
+2019-06-13  Jiufu Guo  <guojiufu@linux.ibm.com>
+           Lijia He  <helijia@linux.ibm.com>
+
+       PR tree-optimization/77820
+       * tree-ssa-threadedge.c
+       (edge_forwards_cmp_to_conditional_jump_through_empty_bb_p): New
+       function.
+       (thread_across_edge): Add call to
+       edge_forwards_cmp_to_conditional_jump_through_empty_bb_p.
+
+2019-06-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * config/darwin-driver.c (validate_macosx_version_min): New.
+       (darwin_default_min_version): Cleanup and validate supplied version.
+       (darwin_driver_init): Likewise and push cleaned version into opts.
+
+2019-06-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR tree-optimization/90869
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Watch for view
+       converts in MEM_REF referencing decl rather than view converts
+       from decl type to MEM_REF type.
+
+2019-06-13  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/90856
+       * tree-sra.c (build_ref_for_model): Only use
+       build_reconstructed_reference when address-spaces are the same.
+
+2019-06-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/nvptx/nvptx.c (nvptx_sese_number, nvptx_sese_pseudo): Don't
+       wrap ei variable name in the declaration in ()s.
+       (nvptx_single): Actually use mode_label variable.  Formatting fix.
+
+2019-06-13  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_loop_vectorized_call): Declare.
+       * tree-vectorizer.c (vect_loop_vectorized_call): Export and
+       also return the condition stmt.
+       * tree-vect-loop-manip.c (vect_loop_versioning): Compute outermost
+       loop we can version and version that, reusing the loop version
+       created by if-conversion instead of versioning again.
+
+2019-06-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-loop-versioning.cc (prune_loop_conditions): Use
+       may_contain_p.
+       * tree-vrp (value_range_base::may_contain_p): Call into
+       value_inside_range.
+       (value_inside_range): Make private inside value_range_base class.
+       Take min/max from *this.
+       (range_includes_p): Remove.
+       * tree-vrp.h (value_range_base): Add value_inside_range.
+       (range_includes_p): Remove.
+       (range_includes_zero_p): Call may_contain_p.
+       * vr-values.c (compare_range_with_value): Same.
+
+2019-06-13  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * doc/extend.texi (ARC Function Attributes): Update info.
+
+2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
+
+       PR tree-optimization/89713
+       * doc/invoke.texi (-ffinite-loops): Document new option.
+       * common.opt (-ffinite-loops): New option.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark
+       IFN_GOACC_LOOP calls as necessary.
+       * tree-ssa-loop-niter.c (finite_loop_p): Assume loop with an exit
+       is finite.
+       * omp-offload.c (oacc_xform_loop): Skip lowering if return value of
+       IFN_GOACC_LOOP call is not used.
+       * opts.c (default_options_table): Enable -ffinite-loops at -O2+.
+
+2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
+
+       PR target/88838
+       * tree-vect-loop-manip.c (vect_set_loop_masks_directly): If the
+       compare_type is not with Pmode size, we will create an IV with
+       Pmode size with truncated use (i.e. converted to the correct type).
+       * tree-vect-loop.c (vect_verify_full_masking): Find IV type.
+       (vect_iv_limit_for_full_masking): New. Factored out of
+       vect_set_loop_condition_masked.
+       * tree-vectorizer.h (LOOP_VINFO_MASK_IV_TYPE): New.
+       (vect_iv_limit_for_full_masking): Declare.
+
+2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
+
+       PR target/88834
+       * tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle
+       IFN_MASK_LOAD_LANES and IFN_MASK_STORE_LANES.
+       (get_alias_ptr_type_for_ptr_address): Likewise.
+       (add_iv_candidate_for_use): Add scaled index candidate if useful.
+       * tree-ssa-address.c (preferred_mem_scale_factor): New.
+       * config/aarch64/aarch64.c (aarch64_classify_address): Relax
+       allow_reg_index_p.
+
+2019-06-13  Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
+
+       * config/aarch64/iterators.md (ADDSUB): Fix typo in comment.
+
+2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * common/config/pru/pru-common.c: New file.
+       * config.gcc: Add PRU target.
+       * config/pru/alu-zext.md: New file.
+       * config/pru/constraints.md: New file.
+       * config/pru/predicates.md: New file.
+       * config/pru/pru-opts.h: New file.
+       * config/pru/pru-passes.c: New file.
+       * config/pru/pru-pragma.c: New file.
+       * config/pru/pru-protos.h: New file.
+       * config/pru/pru.c: New file.
+       * config/pru/pru.h: New file.
+       * config/pru/pru.md: New file.
+       * config/pru/pru.opt: New file.
+       * config/pru/t-pru: New file.
+       * doc/extend.texi: Document PRU pragmas.
+       * doc/invoke.texi: Document PRU-specific options.
+       * doc/md.texi: Document PRU asm constraints.
+
+2019-06-12  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/90676
+       * tree-pretty-print.c (dump_mem_ref): New function.  Include
+       MEM_REF type in output when different size than operand.
+       (dump_generic_node): Move code to dump_mem_ref and call it.
+
+2019-06-12  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/90662
+       * tree-ssa-strlen.c (get_stridx): Handle simple VLAs and pointers
+       to arrays.
+
+2019-06-12  Tom de Vries  <tdevries@suse.de>
+
+       PR tree-optimization/90009
+       * config/nvptx/nvptx.c (nvptx_find_par): Assert fork has at most join.
+
+2019-06-12  Martin Liska  <mliska@suse.cz>
+
+       * ggc-common.c (ggc_prune_overhead_list): Do not sanitize
+       the created map.
+       * hash-map.h: Add sanitize_eq_and_hash into ::hash_map.
+       * mem-stats.h (mem_alloc_description::mem_alloc_description):
+       Do not sanitize created maps.
+
+2019-06-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Use
+       value_range::singleton_p.
+       * tree-vrp.c (value_range_constant_singleton): Remove.
+       * tree-vrp.h (value_range_constant_singleton): Remove.
+       * vr-values.c (vr_values::singleton): Use
+       value_range::singleton_p.
+
+2019-06-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/90811
+       * cfgexpand.c (align_local_variable): Add really_expand argument,
+       don't SET_DECL_ALIGN if it is false.
+       (add_stack_var): Add really_expand argument, pass it through to
+       align_local_variable.
+       (expand_one_stack_var_1): Pass true as really_expand to
+       align_local_variable.
+       (expand_one_ssa_partition): Pass true as really_expand to
+       add_stack_var.
+       (expand_one_var): Pass really_expand through to add_stack_var.
+
+2019-06-12  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+        * config/arm/iterators.md (VABAL): New int iterator.
+        * config/arm/neon.md (<sup>sadv16qi): New define_expand.
+        * config/arm/unspecs.md ("unspec"): Define UNSPEC_VABAL_S, UNSPEC_VABAL_U
+        values.
+
+2019-06-12  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (stream_out_histogram_value): Only first value
+       can't be negative.
+
+2019-06-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/90760
+       * symtab.c (symtab_node::set_section): Allow being called on aliases
+       as long as they aren't analyzed yet.
+
+2019-06-11  Faraz Shahbazker  <fshahbazker@wavecomp.com>
+
+       * config/mips/mips.c (mips_final_postscan_insn): Modify call
+       to `mips_set_text_contents_type' to indicate whether a
+       non-debug insn follows.
+
+2019-06-11  Michael Meissner  <meissner@linux.ibm.com>
+
+       * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Delete
+       enabling -mpcrel by default.
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Update
+       test for -mpcrel and/or -mprefixed-addr needing -mcpu=future, so
+       that the test against -mcpu=future is done first.  Then test if
+       -mprefixed-addr is on for -mpcrel.
+       (rs6000_disable_incompatible_switches): Add -mcpu=future support.
+
+2019-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/90811
+       * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d
+       instead of and.u%d.
+
+2019-06-11  Marc Glisse  <marc.glisse@inria.fr>
+
+       * match.pd (X/[ex]4<Y/[ex]4): Handle conversions.
+
+2019-06-11  Matthew Beliveau  <mbelivea@redhat.com>
+
+       PR c++/90449 - add -Winaccessible-base option.
+       * doc/invoke.texi (Winaccessible-base): Document.
+
+2019-06-11  Marc Glisse  <marc.glisse@inria.fr>
+
+       PR tree-optimization/62041
+       * fold-const.c (fold_real_zero_addition_p): Handle vectors.
+
+2019-06-11  Jason Merrill  <jason@redhat.com>
+
+       * gdbhooks.py (TreePrinter.to_string): Recognize ggc_free'd memory.
+       * tree.c (get_tree_code_name): Likewise.
+       * print-tree.c (print_node): Only briefly print a node with an
+       invalid code.
+
+2019-06-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/90819
+       * trans-mem.c (tm_memopt_compute_available): Add assertion
+       that blocks is not empty.  Formatting fix.
+
+2019-06-11  Martin Liska  <mliska@suse.cz>
+
+       PR c++/87847
+       * hash-table.h: Extend create_gcc, add one parameter
+       that is passed into hash_table::hash_table.
+
+2019-06-10  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (ix86_split_fp_absneg_operator):
+       New prototype.
+       * config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
+       Emit clobber also for non-sse operations.
+       (ix86_split_fp_absneg_operator): New function.
+       * config/i386/i386.md (SSEMODEF): New mode iterator.
+       (ssevecmodef): New mode attribute.
+       (<code>tf2): Use absneg code iterator.
+       (*<code>tf2_1): Rename from *absnegtf3_sse. Use absneg code iterator.
+       Add three-operand AVX alternatives.
+       (*<code><mode>2_i387_1): Rename from *absnegxf2_i387.
+       Use absneg code iterator and X87MODEF mode iterator.
+       (absneg fp_reg non-sse splitter): Call absneg code iterator
+       and X87MODEF mode iterator.
+       (absneg general_reg non-sse splitter): Use absneg code iterator
+       and X87MODEF mode iterator.  Use ix86_split_fp_absneg_operator.
+       (*<code><mode>2_1): Rename from *absneg<mode>2.  Use absneg
+       code iterator.  Add three-operand AVX alternative.
+       (absneg sse_reg splitter): Use absneg code iterator
+       and SSEMODEF mode iterator.  Handle AVX operands.
+       (absneg fp_reg splitter): Use absneg code iterator
+       and MODEF mode iterator.
+       (absneg general_reg splitter): Merge splitters using MODEF mode
+       iterator.  Use absneg code iterator.  Call
+       ix86_split_fp_absneg_operator.
+       (*<code><mode>2_i387): Rename from *<code><mode>2_1.
+       Do not enable for non-sse modes before reload.
+       (CSGNMODE): Remove.
+       (CSGNVMODE): Ditto.
+       (copysing<mode>3): Use SSEMODEF instead of CSGNMODE and
+       ssevecmodef mode attribute instaed of CSGNVMODE.
+       (copysign<mode>3_const): Ditto.
+       (copysign<mode>3_var): Ditto.
+       * config/i386/i386.md (*<code><mode>2): Rename from *absneg<mode>2.
+       Use absneg code iterator.  Simplify code using std::swap.
+       * config/i386/predicates.md (absneg_operator): Remove.
+
+2019-06-10  Martin Sebor  <msebor@redhat.com>
+
+       * gimple-fold.c (get_range_strlen): Update comment that didn't
+       make it into r267503 or related commits.
+
+2019-06-10  Vladislav Ivanishin  <vlad@ispras.ru>
+
+       * gcov-tool.c (merge_usage, rewrite_usage): Mark with
+       ATTRIBUTE_NORETURN thus making consistent with overlap_usage.
+
+2019-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.def (OMP_SCAN): New tree code.
+       * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_INCLUSIVE and
+       OMP_CLAUSE_EXCLUSIVE.
+       * tree.h (OMP_CLAUSES): Use OMP_SCAN instead of OMP_TASKGROUP.
+       (OMP_SCAN_BODY, OMP_SCAN_CLAUSES): Define.
+       * tree.c (omp_clause_num_ops, omp_clause_code_name): Add entries for
+       OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (walk_tree_1): Handle OMP_CLAUSE_{IN,EX}CLUSIVE.
+       * tree-nested.c (convert_nonlocal_reference_stmt,
+       convert_local_reference_stmt, convert_gimple_call): Handle
+       GIMPLE_OMP_SCAN.
+       * tree-pretty-print.c (dump_omp_clause): Handle
+       OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (dump_generic_node): Handle OMP_SCAN.
+       * gimple.def (GIMPLE_OMP_SCAN): New gimple code.
+       * gimple.h (gomp_scan): New type.
+       (is_a_helper <gomp_scan *>::test,
+       is_a_helper <const gomp_scan *>::test): New templates.
+       (gimple_build_omp_scan): Declare.
+       (gimple_omp_scan_clauses, gimple_omp_scan_clauses_ptr,
+       gimple_omp_scan_set_clauses): New inline functions.
+       (CASE_GIMPLE_OMP): Add case GIMPLE_OMP_SCAN:.
+       * gimple.c (gimple_build_omp_scan): New function.
+       (gimple_copy): Handle GIMPLE_OMP_SCAN.
+       * gimple-walk.c (walk_gimple_op, walk_gimple_stmt): Likewise.
+       * gimple-pretty-print.c (dump_gimple_omp_block): Don't handle
+       GIMPLE_OMP_TASKGROUP.
+       (dump_gimple_omp_scan): New function.
+       (pp_gimple_stmt_1): Handle GIMPLE_OMP_SCAN.
+       * gimple-low.c (lower_stmt): Handle GIMPLE_OMP_SCAN.
+       * tree-inline.c (remap_gimple_stmt, estimate_num_insns): Likewise.
+       * gimplify.c (enum gimplify_omp_var_data): Add GOVD_REDUCTION_INSCAN.
+       (is_gimple_stmt): Handle OMP_SCAN.
+       (gimplify_scan_omp_clauses): Reject inscan reductions on constructs
+       other than OMP_FOR or OMP_SIMD.  Handle OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (gimplify_adjust_omp_clauses): Diagnose inscan reductions not
+       mentioned in nested #pragma omp scan.  Handle
+       OMP_CLAUSE_{IN,EX}CLUSIVE.
+       (gimplify_expr): Handle OMP_SCAN.
+       * omp-low.c (check_omp_nesting_restrictions): For parent context,
+       look through GIMPLE_OMP_SCAN context.  Allow #pragma omp scan in
+       simd constructs.
+       (scan_omp_1_stmt, lower_omp_1, diagnose_sb_1, diagnose_sb_2): Handle
+       GIMPLE_OMP_SCAN.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * ipa-cp.c (ignore_edge_p): New function.
+       (build_toporder_info): Use it.
+       * ipa-inline.c (ignore_edge_p): New function.
+       (inline_small_functions): Use it.
+       * ipa-pure-const.c (ignore_edge_for_nothrow):
+       Verify opt_for_fn for caller and callee.
+       (ignore_edge_for_pure_const): Likewise.
+       * ipa-reference.c (ignore_edge_p): Extend to check
+       for opt_for_fn.
+       * ipa-utils.c (searchc): Refactor.
+       * ipa-utils.h: Fix coding style.
+
+2019-06-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.c (arc_rtx_costs): Update costs.
+
+2019-06-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc-protos.h (arc_check_ior_const): Declare.
+       (arc_split_ior): Likewise.
+       (arc_check_mov_const): Likewise.
+       (arc_split_mov_const): Likewise.
+       * config/arc/arc.c (arc_print_operand): Fix 'z' letter.
+       (arc_rtx_costs): Replace check Crr with Cax constraint.
+       (prepare_move_operands): Cleanup, remove unused code.
+       (arc_split_ior): New function.
+       (arc_check_ior_const): Likewise.
+       (arc_split_mov_const): Likewise.
+       (arc_check_mov_const): Likewise.
+       * config/arc/arc.md (movsi_insn): Restructure it, and convert it
+       in define_insn_and_split pattern.
+       (iorsi3): Likewise.
+       (mulsi3_v2): Add new matching variant.
+       (andsi3_i): Cleanup pattern.
+       (rotrsi3_cnt1): Update pattern.
+       (rotrsi3_cnt8): New pattern.
+       (ashlsi2_cnt8): Likewise.
+       (ashlsi2_cnt16): Likewise.
+       * config/arc/constraints.md (C0p): Update constraint.
+       (Crr): Remove it.
+       (C0x): New pattern.
+       (Cax): New pattern.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf.c (sem_item_optimizer::parse_nonsingleton_classes):
+       Update coding style.
+       (sem_item_optimizer::dump_cong_classes):
+       Print how many items are in a non-singular class.  Improve
+       coding style.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (dump_histogram_value): Change dump format.
+       (gimple_mod_subtract_transform): Remove legacy comment.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (dump_histogram_value): Print histogram values
+       only if present.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * gcov-io.h (GCOV_DISK_SINGLE_VALUES): New.
+       (GCOV_SINGLE_VALUE_COUNTERS): Likewise.
+       * ipa-profile.c (ipa_profile_generate_summary):
+       Use get_most_common_single_value.
+       * tree-profile.c (gimple_init_gcov_profiler):
+       Instrument with __gcov_one_value_profiler_v2
+       and __gcov_indirect_call_profiler_v4.
+       * value-prof.c (dump_histogram_value):
+       Print all values for HIST_TYPE_SINGLE_VALUE.
+       (stream_out_histogram_value): Update assert for
+       N values.
+       (stream_in_histogram_value): Set number of
+       counters for HIST_TYPE_SINGLE_VALUE.
+       (get_most_common_single_value): New.
+       (gimple_divmod_fixed_value_transform):
+       Use get_most_common_single_value.
+       (gimple_ic_transform): Likewise.
+       (gimple_stringops_transform): Likewise.
+       (gimple_find_values_to_profile): Set number
+       of counters for HIST_TYPE_SINGLE_VALUE.
+       * value-prof.h (get_most_common_single_value):
+       New.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * hash-map.h: Pass default value to hash_table ctor.
+       * hash-table.h: Add default value to call of a ctor.
+
+2019-06-08  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/invoke.texi (C Dialect Options): Minor grammatical change.
+       (x86 Options): Replace all uses of "PCL_MUL" with "PCLMUL"
+
+2019-06-07  John David Anglin  <danglin@gcc.gnu.orig>
+
+       PR target/90751
+       * config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment.
+       Call pa_output_function_label.
+       (TARGET_ASM_FUNCTION_PROLOGUE): define.
+       * config/pa/pa-protos.h (pa_output_function_label): Declare.
+       * config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED
+       to declaration.
+       (pa_linux_output_function_prologue): Declare.
+       (TARGET_ASM_FUNCTION_PROLOGUE): Delete define.
+       (pa_output_function_label): New.
+       (pa_output_function_prologue): Revise to use pa_output_function_label.
+       (pa_linux_output_function_prologue): New.
+       * config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define.
+
+2019-06-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.h (value_range_base::intersect): New.
+       (value_range::intersect_helper): Move from here...
+       (value_range_base::intersect_helper): ...to here.
+       * tree-vrp.c (value_range::intersect_helper): Rename to...
+       (value_range_base::intersect_helper): ...this, and rewrite to
+       return a value instead of modifying THIS in place.
+       Also, move equivalence handling...
+       (value_range::intersect): ...here, while calling intersect_helper.
+       * gimple-fold.c (size_must_be_zero_p): Use value_range_base when
+       calling intersect.
+       * gimple-ssa-evrp-analyze.c (ecord_ranges_from_incoming_edge):
+       Same.
+       * vr-values.c (vrp_evaluate_conditional_warnv_with_ops): Same.
+
+2019-06-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (genprogerr): Add condmd.
+       (genprog): Remove it here.
+
+2019-06-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * doc/invoke.texi (AMD GCN Options): Add gfx906.
+
+2019-06-07  Richard Biener  <rguenther@suse.de>
+
+       PR debug/90574
+       * tree-cfg.c (stmt_starts_bb_p): Split blocks at labels
+       that appear after user labels.
+
+2019-06-07  Martin Liska  <mliska@suse.cz>
+
+       * cselib.c (cselib_init): Disable hash table
+       sanitization.
+       * hash-set.h: Pass new default argument to m_table.
+       * hash-table.c: Add global variable with hash table
+       sanitization limit.
+       * hash-table.h (Allocator>::hash_table): Add new argument
+       to ctor.
+       (hashtab_chk_error): New.
+       * params.def (PARAM_HASH_TABLE_VERIFICATION_LIMIT): New.
+       * toplev.c (process_options): Set hash_table_sanitize_eq_limit
+       from the PARAM_HASH_TABLE_VERIFICATION_LIMIT value.
+
+2019-06-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       * common.opt (flto-odr-type-merging): Ignore.
+       * invoke.texi (-flto-odr-type-merging): Remove.
+       * ipa-devirt.c (odr_vtable_hasher:odr_name_hasher): Remove.
+       (can_be_vtable_hashed_p): Remove.
+       (hash_odr_vtable): Remove.
+       (odr_vtable_hasher::hash): Remove.
+       (types_same_for_odr): Remove.
+       (types_odr_comparable): Remove.
+       (odr_vtable_hasher::equal): Remove.
+       (odr_vtable_hash_type, odr_vtable_hash): Remove.        
+       (add_type_duplicate): Do not synchronize vtable and name hashtables.
+       (get_odr_type): Do not use vtable hash.
+       (dump_odr_type): Remove commented out code.
+       (build_type_inheritance_graph): Do not allocate vtable hash.
+       (rebuild_type_inheritance_graph): Do not delete vtable hash.
+       * ipa-utils.h (type_with_linkage_p): Drop vtable hash path.
+       (odr_type_p): Likewise.
+       * tree.c (need_assembler_name_p): Remove flag_lto_odr_type_mering
+       test.
+
+2019-06-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-ssa-alias.c (aliasing_component_refs_p): Do not give up
+       immediately after same_types_for_tbaa_p returns -1 and continue
+       looking for possible exact match; if matching types are arrays
+       watch for partial overlaps.
+       (indirect_ref_may_alias_decl_p): Watch for partial array overlaps.
+       (indirect_refs_may_alias_p): Do type based disambiguation first;
+       update comment.
+
+2019-06-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * fwprop.c (propagate_rtx): Fix call to paradoxical_subreg_p.
+
+2019-06-07  Martin Liska  <mliska@suse.cz>
+
+       * doc/invoke.texi: Remove param.
+       * gcov-counter.def (GCOV_COUNTER_ICALL_TOPNV):
+       Remove.
+       * gcov-io.h (GCOV_ICALL_TOPN_VAL): Likewise.
+       (GCOV_ICALL_TOPN_NCOUNTS): Likewise.
+       * params.def (PARAM_INDIR_CALL_TOPN_PROFILE): Likewise.
+       * profile.c (instrument_values): Remove
+       HIST_TYPE_INDIR_CALL_TOPN.
+       * tree-profile.c (init_ic_make_global_vars):
+       Always build __gcov_indirect_call only.
+       (gimple_init_gcov_profiler): Remove usage
+       of PARAM_INDIR_CALL_TOPN_PROFILE.
+       (gimple_gen_ic_profiler): Likewise.
+       * value-prof.c (dump_histogram_value): Likewise.
+       (stream_in_histogram_value): Likewise.
+       (gimple_indirect_call_to_profile): Likewise.
+       (gimple_find_values_to_profile): Likewise.
+       * value-prof.h (enum hist_type): Likewise.
+
+2019-06-07  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-loop.c (get_lsm_tmp_name): Return at the end of the
+       function.
+
+2019-06-07  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/78902
+       * builtin-attrs.def (ATTR_WARN_UNUSED_RESULT): New.
+       (ATTR_MALLOC_NOTHROW_LEAF_LIST): Remove.
+       (ATTR_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
+       (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LEAF_LIST): New.
+       (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): Remove.
+       (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Remove.
+       (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_LIST): New.
+       (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): New.
+       (ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
+       (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): Remove.
+       (ATTR_ALLOCA_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST): New.
+       (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST):  Remove.
+       (ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_2_NOTHROW_LEAF_LIST):
+       New.
+       (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Remove.
+       (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST): New.
+       (ATTR_MALLOC_NOTHROW_NONNULL): Remove.
+       (ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
+       (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL): New.
+       (ATTR_MALLOC_NOTHROW_NONNULL_LEAF): Remove.
+       (ATTR_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
+       (ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF): New.
+       * builtins.def (BUILT_IN_ALIGNED_ALLOC): Change to use
+       warn_unused_result attribute.
+       (BUILT_IN_STRDUP): Likewise.
+       (BUILT_IN_STRNDUP): Likewise.
+       (BUILT_IN_ALLOCA): Likewise.
+       (BUILT_IN_CALLOC): Likewise.
+       (BUILT_IN_MALLOC): Likewise.
+       (BUILT_IN_REALLOC): Likewise.
+
+2019-06-06  Jim Wilson  <jimw@sifive.com>
+
+       PR target/89955
+       * config/riscv/riscv.h (STARTFILE_PREFIX_SPEC): Deleted.
+       * config/riscv/freebsd.h (STARTFILE_PREFIX_SPEC): Added.
+       * config/riscv/linux.h (STARTFILE_PREFIX_SPEC): Added.
+
+2019-06-06  Martin Sebor  <msebor@redhat.com>
+
+       * tree-ssa-strlen.c (adjust_related_strinfos): Avoid trailing article.
+       (handle_builtin_malloc): Remove trailing spaces.
+       (handle_builtin_memset): Same.
+       (handle_builtin_memcmp): Same.
+       (compute_string_length): Same.
+       (determine_min_objsize): Same.
+       (handle_builtin_string_cmp): Same.
+       (handle_char_store): Same.  Break up excessively long line.
+
+2019-06-06  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (build_reconstructed_reference): Drop the alignment
+       check.
+
+2019-06-06  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (struct access): New field grp_same_access_path.
+       (dump_access): Dump it.
+       (build_reconstructed_reference): New function.
+       (build_ref_for_model): Use it if possible.
+       (path_comparable_for_same_access): New function.
+       (same_access_path_p): Likewise.
+       (sort_and_splice_var_accesses): Set the new flag.
+       (analyze_access_subtree): Likewise.
+       (propagate_subaccesses_across_link): Propagate zero value of the new
+       flag down the access tree.
+
+2019-06-06  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config.gcc (amdgcn-*-*): Allow --with-arch=gfx906.
+       * config/gcn/gcn.opt (gpu_type): Add gfx906.
+       * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Add gfx906 multilib.
+       (MULTILIB_DIRNAMES): Rename gcn5 to gfx900.
+       Add gfx906.
+
+2019-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       PR tree-optimization/90332
+       * config/aarch64/aarch64.c (aarch64_expand_vector_init):
+       Handle VALS containing two vectors.
+       * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Rename
+       to...
+       (@aarch64_combinez<mode>): ... This.
+       (*aarch64_combinez_be<mode>): Rename to...
+       (@aarch64_combinez_be<mode>): ... This.
+       (vec_init<mode><Vhalf>): New define_expand.
+       * config/aarch64/iterators.md (Vhalf): Handle V8HF.
+
+2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.md (ashlhi3): Use the const_variant of shift
+       library functions only when not optimizing for size.
+       (ashlsi3): Likewise.
+       (ashrhi3): Likewise.
+       (ashrsi3): Likewise.
+       (lshrhi3): Likewise.
+       (lshrsi3): Likewise.
+
+2019-06-06  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR rtl-optimization/88751
+       * ira.c (ira): Use the number of the actually referenced registers
+       when calculating the threshold.
+
+2019-06-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure: Regenerate.
+
+2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * config/msp430/msp430.md (ashlhi3): Force shift src operand into a
+       register if it is in memory, so the shift can be emulated with a rotate
+       instruction.
+       (ashrhi3): Likewise.
+       (lshrhi3): Likewise.
+
+2019-06-06  Martin Liska  <mliska@suse.cz>
+
+       PR tree-optimization/87954
+       * match.pd: Simplify mult where both arguments are 0 or 1.
+
+2019-06-06  Richard Biener  <rguenther@suse.de>
+
+       * vr-values.c (vr_values::extract_range_from_ssa_name): Do not
+       put equivalences on UNDEFINED ranges.
+       * gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children):
+       Make sure to drop defs of stmts added during simplification
+       to VARYING.
+
+2019-06-06  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c: Include tree-cfg.h.
+       (make_heapvar): Do not make heap vars artificial.
+       (find_func_aliases_for_builtin_call): Handle stack allocation
+       functions.
+       (find_func_aliases): Delay processing of simple enough returns
+       in non-IPA mode.
+       (set_uids_in_ptset): Adjust.
+       (find_what_var_points_to): Likewise.
+       (solve_constraints): Do not dump points-to sets here.
+       (compute_points_to_sets): Post-process return statements,
+       amending the escaped solution.  Dump points-to sets afterwards.
+       (ipa_pta_execute): Dump points-to sets.
+
+2019-06-06  Martin Liska  <mliska@suse.cz>
+
+       PR web/87933
+       * doc/install.texi: Fix HTML headers and
+       titles for 'Installing GCC' pages.
+
+2019-06-06  Martin Liska  <mliska@suse.cz>
+
+       * ipa-icf-gimple.h (dump_message_1): Remove.
+       (dump_message): Likewise.
+       (return_false_with_message_1): Print also file.
+       (return_false_with_msg): Likewise.
+       (return_with_result): Likewise.
+       (return_with_debug): Likewise.
+       * ipa-icf.c (sem_function::equals_private): Remove call
+       to dump_message.
+
+2019-06-05  Hongtao Liu  <hongtao.liu@intel.com>
+
+       * config/i386/sse.md (define_mode_suffix vecmemsuffix): New.
+       (define_insn "avx512dq_fpclass<mode><mask_scalar_merge_name>"): Enable
+       memory operand for it.
+       (define_insn "avx512dq_vmfpclass<mode><mask_scalar_merge_name>"): Ditto.
+
+2019-06-05  Martin Sebor  <msebor@redhat.com>
+
+       * config/i386/i386-features.c (ix86_get_function_versions_dispatcher):
+       Adjust quoting and hyphenation.
+       * convert.c (convert_to_real_1): Same.
+       * gcc.c (driver_wrong_lang_callback): Same.
+       (driver::handle_unrecognized_options): Same.
+       * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Same.
+       * opts-common.c (cmdline_handle_error): Same.
+       (read_cmdline_option): Same.
+       * opts-global.c (complain_wrong_lang): Same.
+       (print_ignored_options): Same.
+       (handle_common_deferred_options): Same.
+       * pretty-print.h: Same.
+       * print-rtl.c (debug_bb_n_slim): Same.
+       * sched-rgn.c (make_pass_sched_fusion): Same.
+       * tree-cfg.c (verify_gimple_assign_unary): Same.
+       (verify_gimple_label): Same.
+       * tree-ssa-operands.c (verify_ssa_operands): Same.
+       * varasm.c (do_assemble_alias): Same.
+       (assemble_alias): Same.
+
+2019-06-05  Richard Henderson  <rth@twiddle.net>
+
+       * config/alpha/alpha.c (direct_return): Move down after
+       struct machine_function definition; use saved frame_size;
+       return bool.
+       (struct machine_function): Add sa_mask, sa_size, frame_size.
+       (alpha_sa_mask, alpha_sa_size, compute_frame_size): Merge into ...
+       (alpha_compute_frame_layout): ... new function.
+       (TARGET_COMPUTE_FRAME_LAYOUT): New.
+       (alpha_initial_elimination_offset): Use saved sa_size.
+       (alpha_vms_initial_elimination_offset): Likewise.
+       (alpha_vms_can_eliminate): Remove alpha_sa_size call.
+       (alpha_expand_prologue): Use saved frame data.  Merge integer
+       and fp register save loops.
+       (alpha_expand_epilogue): Likewise.
+       (alpha_start_function): Use saved frame data.
+       * config/alpha/alpha-protos.h (direct_return): Update.
+       (alpha_sa_size): Remove.
+
+2019-06-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (extract_muldiv_1) <PLUS_EXPR>: Do not distribute a
+       multiplication by a power-of-two value.
+       (fold_plusminus_mult_expr): Use pow2p_hwi to spot a power-of-two value
+       and turn the modulo operation into a masking operation.
+
+2019-06-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/90733
+       * var-tracking.c (vt_expand_loc_callback): Don't create raw subregs
+       with VOIDmode inner operands.
+
+2019-06-05  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/90726
+       * tree-ssa-loop-niter.c (expand_simple_operations): Do not
+       turn an expression graph into a tree.
+
+2019-06-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * omp-expand.c (struct omp_region): Add has_lastprivate_conditional
+       member.
+       (expand_parallel_call): If region->inner->has_lastprivate_conditional,
+       treat it like explicit monotonic schedule modifier.
+       (expand_omp_for): Initialize has_lastprivate_conditional.
+       If fd.lastprivate_conditional != 0, treat it like explicit monotonic
+       schedule modifier.
+
+       * omp-low.c (lower_rec_input_clauses): For lastprivate conditional
+       references, lookup in in hash map MEM_REF operand instead of the
+       MEM_REF itself.
+       (lower_omp_1): When looking for lastprivate conditional assignments,
+       handle MEM_REFs with REFERENCE_TYPE operands.
+
+       * omp-low.c (lower_rec_input_clauses): Force max_vf if is_simd and
+       on privatization clauses OMP_CLAUSE_DECL is privatized by reference
+       and references a VLA.  Handle references to non-VLAs if is_simd
+       all privatization clauses like reductions.
+       (lower_rec_input_clauses) <case do_private, case do_firstprivate>:
+       If omp_is_reference, use always omp simd arrays and set
+       DECL_VALUE_EXPR in that case, if lower_rec_simd_input_clauses
+       fails, emit reference initialization.
+
+2019-06-05  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/89803
+       * config/i386/avx512dqintrin.h (_mm_mask_fpclass_ss_mask,
+       _mm_mask_fpclass_sd_mask): New intrinsics.
+       (_mm_fpclass_ss_mask, _mm_fpclass_sd_mask): Modified, use new builtins.
+       * config/i386/i386-builtin.def
+       (__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask):
+       New builtins.
+       (__builtin_ia32_fpclassss, __builtin_ia32_fpclasssd): Deleted.
+       * config/i386/i386-builtin-types.def (DEF_FUNCTION_TYPE (QI, V2DF, INT),
+       DEF_FUNCTION_TYPE (QI, V4SF, INT)): Deleted.
+       * config/i386/i386-expand.c (case QI_FTYPE_V4SF_INT,
+       case QI_FTYPE_V2SF_INT): Ditto.
+       * config/i386/sse.md
+       (define_insn "avx512dq_vmfpclass<mode><mask_scalar_merge_name>):
+       Extended to insnstructions with mask operands.
+
+2019-06-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/constraints.md (define_register_constraint "wp"):
+       Delete.
+       (define_register_constraint "wq"): Delete.
+       * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
+       (rs6000_init_hard_regno_mode_ok): Adjust.
+       * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
+       RS6000_CONSTRAINT_wp and RS6000_CONSTRAINT_wq.
+       * config/rs6000/vsx.md (define_mode_attr VSr3): Delete.
+       (define_mode_attr VSa): Delete.
+       (define_mode_attr VSisa): New.
+       (rest of file): Adjust.
+       * doc/md.texi (Machine Constraints): Adjust.
+
+2019-06-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (define_attr "isa"): Add p9kf and p9tf.
+       (define_attr "enabled"): Handle those new isa values.
+
+2019-06-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/vsx.md (define_mode_attr VSr4): Delete.
+       (define_mode_attr VSr5): Delete.
+       (define_mode_attr VStype_sqrt): Delete.
+       (define_mode_iterator VSX_SPDP): Delete.
+       (define_mode_attr VS_spdp_res): Delete.
+       (define_mode_attr VS_spdp_insn): Delete.
+       (define_mode_attr VS_spdp_type): Delete.
+       (*vsx_sqrt<mode>2): Adjust.
+       (vsx_<VS_spdp_insn>): Delete, split to...
+       (vsx_xscvdpsp): ... this.  New.  And...
+       (vsx_xvcvspdp): ... this.  New.  And...
+       (vsx_xvcvdpsp): ... this.  New.
+
 2019-06-04  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000.md (define_mode_attr sd): Add values for V4SF