]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ChangeLog
tree-optimization/95271 - fix bswap vectorization invariant SLP type
[gcc.git] / gcc / ChangeLog
index 6b707cd1f0899d6156da054a69ea3b7548ee87ef..1e037dabe4974b15e3a8a56d2a04577803f29eb1 100644 (file)
@@ -1,3 +1,707 @@
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95271
+       * tree-vect-stmts.c (vectorizable_bswap): Update invariant SLP
+       children vector type.
+       (vectorizable_call): Pass down slp ops.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95297
+       * tree-vect-stmts.c (vectorizable_shift): For scalar_shift_arg
+       skip updating operand 1 vector type.
+
+2020-05-25  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95284
+       * tree-ssa-sink.c (sink_common_stores_to_bb): Amend previous
+       fix.
+
+2020-05-25  Hongtao Liu  <hongtao.liu@intel.com>
+
+       PR target/95125
+       * config/i386/sse.md (sf2dfmode_lower): New mode attribute.
+       (trunc<mode><sf2dfmode_lower>2) New expander.
+       (extend<sf2dfmode_lower><mode>2): Ditto.
+
+2020-05-23 Iain Sandoe <iain@sandoe.co.uk>
+
+       * config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make
+       ubsan_{data,type},ASAN symbols linker-visible.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-out.c (DFS::DFS): Silence warning.
+
+2020-05-22  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95255
+       * config/i386/i386.md (<rounding_insn><mode>2): Do not try to
+       expand non-sse4 ROUND_ROUNDEVEN rounding via SSE support routines.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-out.c (lto_output_tree): Do not stream final ref if
+       it is not needed.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-section-out.c (lto_output_decl_index): Adjust dump indentation.
+       * lto-streamer-out.c (create_output_block): Fix whitespace
+       (lto_write_tree_1): Add (debug) dump.
+       (DFS::DFS): Add dump.
+       (DFS::DFS_write_tree_body): Do not dump here.
+       (lto_output_tree): Improve dumping; do not stream ref when not needed.
+       (produce_asm_for_decls): Fix whitespace.
+       * tree-streamer-out.c (streamer_write_tree_header): Add dump.
+       * tree-streamer-out.c (streamer_write_integer_cst): Add debug dump.
+
+2020-05-22  Hongtao.liu  <hongtao.liu@intel.com>
+
+       PR target/92658
+       * config/i386/sse.md (trunc<pmov_src_lower><mode>2): New expander
+       (truncv32hiv32qi2): Ditto.
+       (trunc<ssedoublemodelower><mode>2): Ditto.
+       (trunc<mode><pmov_dst_3>2): Ditto.
+       (trunc<mode><pmov_dst_mode_4>2): Ditto.
+       (truncv2div2si2): Ditto.
+       (truncv8div8qi2): Ditto.
+       (avx512f_<code>v8div16qi2): Renaming from *avx512f_<code>v8div16qi2.
+       (avx512vl_<code>v2div2si): Renaming from *avx512vl_<code>v2div2si2.
+       (avx512vl_<code><mode>v2<ssecakarnum>qi2): Renaming from
+       *avx512vl_<code><mode>v<ssescalarnum>qi2.
+
+2020-05-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95258
+       * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+       AVX512VPOPCNTDQ.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95268
+       * tree-ssa-sink.c (sink_common_stores_to_bb): Handle clobbers
+       properly.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * tree-streamer.c (record_common_node): Fix hash value of pre-streamed
+       nodes.
+
+2020-05-22  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-in.c (lto_read_tree): Do not stream end markers.
+       (lto_input_scc): Optimize streaming of entry lengths.
+       * lto-streamer-out.c (lto_write_tree): Do not stream end markers
+       (DFS::DFS): Optimize stremaing of entry lengths
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR lto/95190
+       * doc/invoke.texi (flto): Document behavior of diagnostic
+       options.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vect_is_simple_use): New overload.
+       (vect_maybe_update_slp_op_vectype): New.
+       * tree-vect-stmts.c (vect_is_simple_use): New overload
+       accessing operands of SLP vs. non-SLP operation transparently.
+       (vect_maybe_update_slp_op_vectype): New function updating
+       the possibly shared SLP operands vector type.
+       (vectorizable_operation): Be a bit more SLP vs non-SLP agnostic
+       using the new vect_is_simple_use overload;  update SLP invariant
+       operand nodes vector type.
+       (vectorizable_comparison): Likewise.
+       (vectorizable_call): Likewise.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_shift): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_condition): Likewise.
+       (vectorizable_assignment): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): Likewise.
+       * tree-vect-slp.c (vect_get_constant_vectors): Enforce
+       present SLP_TREE_VECTYPE and check it matches previous
+       behavior.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95248
+       * tree-ssa-loop-im.c (sm_seq_valid_bb): Remove bogus early out.
+
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::_slp_tree): New.
+       (_slp_tree::~_slp_tree): Likewise.
+       * tree-vect-slp.c (_slp_tree::_slp_tree): Factor out code
+       from allocators.
+       (_slp_tree::~_slp_tree): Implement.
+       (vect_free_slp_tree): Simplify.
+       (vect_create_new_slp_node): Likewise.  Add nops parameter.
+       (vect_build_slp_tree_2): Adjust.
+       (vect_analyze_slp_instance): Likewise.
+
+2020-05-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * adjust-alignment.c: Include memmodel.h.
+
+2020-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95260
+       * config/i386/cpuid.h: Use hexadecimal in comments.
+
+2020-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95212
+       * config/i386/i386-builtins.c (processor_features): Move
+       F_AVX512VP2INTERSECT after F_AVX512BF16.
+       (isa_names_table): Likewise.
+
+2020-05-21  Martin Liska  <mliska@suse.cz>
+
+       * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
+       Handle OPT_moutline_atomics.
+       * config/aarch64/aarch64.c: Add outline-atomics to
+       aarch64_attributes.
+       * doc/extend.texi: Document the newly added target attribute.
+
+2020-05-21  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95218
+
+       * config/i386/mmx.md (*mmx_<code>v2sf): Do not mark
+       operands 1 and 2 commutative.  Manually swap operands.
+       (*mmx_nabsv2sf2): Ditto.
+
+       Partially revert:
+       2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*<code>tf2_1):
+       Mark operands 1 and 2 commutative.
+       (*nabstf2_1): Ditto.
+       * config/i386/sse.md (*<code><mode>2): Mark operands 1 and 2
+       commutative.  Do not swap operands.
+       (*nabs<mode>2): Ditto.
+
+2020-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95229
+       * config/i386/sse.md (<code>v8qiv8hi2): Use
+       simplify_gen_subreg instead of simplify_subreg.
+       (<code>v8qiv8si2): Ditto.
+       (<code>v4qiv4si2): Ditto.
+       (<code>v4hiv4si2): Ditto.
+       (<code>v8qiv8di2): Ditto.
+       (<code>v4qiv4di2): Ditto.
+       (<code>v2qiv2di2): Ditto.
+       (<code>v4hiv4di2): Ditto.
+       (<code>v2hiv2di2): Ditto.
+       (<code>v2siv2di2): Ditto.
+
+2020-05-20  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95238
+       * config/i386/i386.md (*pushsi2_rex64):
+       Use "e" constraint instead of "i".
+
+2020-05-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-streamer-in.c (lto_input_scc): Add SHARED_SCC parameter.
+       (lto_input_tree_1): Strenghten sanity check.
+       (lto_input_tree): Update call of lto_input_scc.
+       * lto-streamer-out.c: Include ipa-utils.h
+       (create_output_block): Initialize local_trees if merigng is going
+       to happen.
+       (destroy_output_block): Destroy local_trees.
+       (DFS): Add max_local_entry.
+       (local_tree_p): New function.
+       (DFS::DFS): Initialize and maintain it.
+       (DFS::DFS_write_tree): Decide on streaming format.
+       (lto_output_tree): Stream inline singleton SCCs
+       * lto-streamer.h (enum LTO_tags): Add LTO_trees.
+       (struct output_block): Add local_trees.
+       (lto_input_scc): Update prototype.
+
+2020-05-20  Patrick Palka  <ppalka@redhat.com>
+
+       PR c++/95223
+       * hash-table.h (hash_table::find_with_hash): Move up the call to
+       hash_table::verify.
+
+2020-05-20  Martin Liska  <mliska@suse.cz>
+
+       * lto-compress.c (lto_compression_zstd): Fill up
+       num_compressed_il_bytes.
+       (lto_uncompression_zstd): Likewise for num_uncompressed_il_bytes here.
+
+2020-05-20  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95219
+       * tree-vect-loop.c (vectorizable_induction): Reduce
+       group_size before computing the number of required IVs.
+
+2020-05-20  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95231
+       * tree-inline.c (remap_gimple_stmt): Revert adjusting
+       COND_EXPR and VEC_COND_EXPR for a -fnon-call-exception boundary.
+
+2020-05-20  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
+           Andre Vieira  <andre.simoesdiasvieira@arm.com>
+
+       PR target/94959
+       * config/arm/arm-protos.h (arm_mode_base_reg_class): Function
+       declaration.
+       (mve_vector_mem_operand): Likewise.
+       * config/arm/arm.c (thumb2_legitimate_address_p): For MVE target check
+       the load from memory to a core register is legitimate for give mode.
+       (mve_vector_mem_operand): Define function.
+       (arm_print_operand): Modify comment.
+       (arm_mode_base_reg_class): Define.
+       * config/arm/arm.h (MODE_BASE_REG_CLASS): Modify to add check for
+       TARGET_HAVE_MVE and expand to arm_mode_base_reg_class on TRUE.
+       * config/arm/constraints.md (Ux): Likewise.
+       (Ul): Likewise.
+       * config/arm/mve.md (mve_mov): Replace constraint Us with Ux and also
+       add support for missing Vector Store Register and Vector Load Register.
+       Add a new alternative to support load from memory to PC (or label) in
+       vector store/load.
+       (mve_vstrbq_<supf><mode>): Modify constraint Us to Ux.
+       (mve_vldrbq_<supf><mode>): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vldrbq_z_<supf><mode>): Modify constraint Us to Ux.
+       (mve_vldrhq_fv8hf): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vldrhq_<supf><mode>): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vldrhq_z_fv8hf): Likewise.
+       (mve_vldrhq_z_<supf><mode>): Likewise.
+       (mve_vldrwq_fv4sf): Likewise.
+       (mve_vldrwq_<supf>v4si): Likewise.
+       (mve_vldrwq_z_fv4sf): Likewise.
+       (mve_vldrwq_z_<supf>v4si): Likewise.
+       (mve_vld1q_f<mode>): Modify constriant Us to Ux.
+       (mve_vld1q_<supf><mode>): Likewise.
+       (mve_vstrhq_fv8hf): Modify constriant Us to Ux, predicate to
+       mve_memory_operand.
+       (mve_vstrhq_p_fv8hf): Modify constriant Us to Ux, predicate to
+       mve_memory_operand and also modify the MVE instructions to emit.
+       (mve_vstrhq_p_<supf><mode>): Likewise.
+       (mve_vstrhq_<supf><mode>): Modify constriant Us to Ux, predicate to
+       mve_memory_operand.
+       (mve_vstrwq_fv4sf): Modify constriant Us to Ux.
+       (mve_vstrwq_p_fv4sf): Modify constriant Us to Ux and also modify the MVE
+       instructions to emit.
+       (mve_vstrwq_p_<supf>v4si): Likewise.
+       (mve_vstrwq_<supf>v4si): Likewise.Modify constriant Us to Ux.
+       * config/arm/predicates.md (mve_memory_operand): Define.
+
+2020-05-30  Richard Biener  <rguenther@suse.de>
+
+       PR c/95141
+       * c-fold.c (c_fully_fold_internal): Enhance guard on
+       overflow_warning.
+
+2020-05-20  Kito Cheng  <kito.cheng@sifive.com>
+
+       PR target/90811
+       * Makefile.in (OBJS): Add adjust-alignment.o.
+       * adjust-alignment.c (pass_data_adjust_alignment): New.
+       (pass_adjust_alignment): New.
+       (pass_adjust_alignment::execute): New.
+       (make_pass_adjust_alignment): New.
+       * tree-pass.h (make_pass_adjust_alignment): New.
+       * passes.def: Add pass_adjust_alignment.
+
+2020-05-19  Alex Coplan  <alex.coplan@arm.com>
+
+       PR target/94591
+       * config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
+       identity permutation.
+
+2020-05-19  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * doc/sourcebuild.texi: Document new short_eq_int, ptr_eq_short,
+       msp430_small, msp430_large and size24plus DejaGNU effective
+       targets.
+       Improve grammar in descriptions for size20plus and size32plus effective
+       targets.
+
+2020-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.c (bpf_compute_frame_layout): Include space for
+       callee saved registers only in xBPF.
+       (bpf_expand_prologue): Save callee saved registers only in xBPF.
+       (bpf_expand_epilogue): Likewise for restoring.
+       * doc/invoke.texi (eBPF Options): Document this is activated by
+       -mxbpf.
+
+2020-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/bpf/bpf.opt (mxbpf): New option.
+       * doc/invoke.texi (Option Summary): Add -mxbpf.
+       (eBPF Options): Document -mxbbpf.
+
+2020-05-19  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/92658
+       * config/i386/sse.md (<code>v16qiv16hi2): New expander.
+       (<code>v32qiv32hi2): Ditto.
+       (<code>v8qiv8hi2): Ditto.
+       (<code>v16qiv16si2): Ditto.
+       (<code>v8qiv8si2): Ditto.
+       (<code>v4qiv4si2): Ditto.
+       (<code>v16hiv16si2): Ditto.
+       (<code>v8hiv8si2): Ditto.
+       (<code>v4hiv4si2): Ditto.
+       (<code>v8qiv8di2): Ditto.
+       (<code>v4qiv4di2): Ditto.
+       (<code>v2qiv2di2): Ditto.
+       (<code>v8hiv8di2): Ditto.
+       (<code>v4hiv4di2): Ditto.
+       (<code>v2hiv2di2): Ditto.
+       (<code>v8siv8di2): Ditto.
+       (<code>v4siv4di2): Ditto.
+       (<code>v2siv2di2): Ditto.
+
+2020-05-19  Kito Cheng  <kito.cheng@sifive.com>
+
+       * common/config/riscv/riscv-common.c (riscv_implied_info_t): New.
+       (riscv_implied_info): New.
+       (riscv_subset_list): Add handle_implied_ext.
+       (riscv_subset_list::to_string): New parameter version_p to
+       control output format.
+       (riscv_subset_list::handle_implied_ext): New.
+       (riscv_subset_list::parse_std_ext): Call handle_implied_ext.
+       (riscv_arch_str): New parameter version_p to control output format.
+       (riscv_expand_arch): New.
+       * config/riscv/riscv-protos.h (riscv_arch_str): New parameter,
+       version_p.
+       * config/riscv/riscv.h (riscv_expand_arch): New,
+       (EXTRA_SPEC_FUNCTIONS): Define.
+       (ASM_SPEC): Transform -march= via riscv_expand_arch.
+
+2020-05-19  Kito Cheng  <kito.cheng@sifive.com>
+
+       * riscv-common.c (parse_sv_or_non_std_ext): Rename to
+       parse_multiletter_ext.
+       (parse_multiletter_ext): Add parsing `h` and `z`, drop `sx`,
+       adjust parsing order for 's' and 'x'.
+
+2020-05-19  Richard Biener  <rguenther@suse.de>
+
+       * tree-vectorizer.h (_slp_tree::vectype): Add field.
+       (SLP_TREE_VECTYPE): New.
+       * tree-vect-slp.c (vect_create_new_slp_node): Initialize
+       SLP_TREE_VECTYPE.
+       (vect_create_new_slp_node): Likewise.
+       (vect_prologue_cost_for_slp): Move here from tree-vect-stmts.c
+       and simplify.
+       (vect_slp_analyze_node_operations): Walk nodes children for
+       invariant costing.
+       (vect_get_constant_vectors): Use local scope op variable.
+       * tree-vect-stmts.c (vect_prologue_cost_for_slp_op): Remove here.
+       (vect_model_simple_cost): Adjust.
+       (vect_model_store_cost): Likewise.
+       (vectorizable_store): Likewise.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/92815
+       * tree-object-size.c (decl_init_size): New function.
+       (addr_object_size): Call it.
+       * tree.h (last_field): Declare.
+       (first_field): Add attribute nonnull.
+
+2020-05-18  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/94940
+       * tree-vrp.c (vrp_prop::check_mem_ref): Remove unreachable code.
+       * tree.c (component_ref_size): Correct the handling or array members
+       of unions.
+       Drop a pointless test.
+       Rename a local variable.
+
+2020-05-18  Jason Merrill  <jason@redhat.com>
+
+       * aclocal.m4: Add ax_cxx_compile_stdcxx.m4.
+       * configure.ac: Use AX_CXX_COMPILE_STDCXX(11).
+
+2020-05-14  Jason Merrill  <jason@redhat.com>
+
+       * doc/install.texi (Prerequisites): Update boostrap compiler
+       requirement to C++11/GCC 4.8.
+
+2020-05-18  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
+
+       PR tree-optimization/94952
+       * gimple-ssa-store-merging.c (pass_store_merging::process_store):
+       Initialize variables bitpos, bitregion_start, and bitregion_end in
+       order to silence warnings about use of uninitialized variables.
+
+2020-05-18  Carl Love  <cel@us.ibm.com>
+
+       PR target/94833
+       * config/rs6000/vsx.md (define_expand): Fix instruction generation for
+       first_match_index_<mode>.
+       * testsuite/gcc.target/powerpc/builtins-8-p9-runnable.c (main): Add
+       additional test cases with zero vector elements.
+
+2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95169
+       * config/i386/i386-expand.c (ix86_expand_int_movcc):
+        Avoid reversing a non-trapping comparison to a trapping one.
+
+2020-05-18  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/arm/arm.c (output_move_double): Fix codegen when loading into
+       a register pair with an odd base register.
+
+2020-05-18  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-expand.c (ix86_expand_fp_absneg_operator):
+       Do not emit FLAGS_REG clobber for TFmode.
+       * config/i386/i386.md (*<code>tf2_1): Rewrite as
+       define_insn_and_split.  Mark operands 1 and 2 commutative.
+       (*nabstf2_1): Ditto.
+       (absneg SSE splitter): Use MODEF mode iterator instead of SSEMODEF.
+       Do not swap memory operands.  Simplify RTX generation.
+       (neg abs SSE splitter): Ditto.
+       * config/i386/sse.md (*<code><mode>2): Mark operands 1 and 2
+       commutative.  Do not swap operands.  Simplify RTX generation.
+       (*nabs<mode>2): Ditto.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_bb): Start after labels.
+       (vect_get_constant_vectors): Really place init stmt after scalar defs.
+       * tree-vect-stmts.c (vect_init_vector_1): Insert before
+       region begin.
+
+2020-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Support
+       Intel Airmont, Tremont, Comet Lake, Ice Lake and Tiger Lake
+       processor families.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/95171
+       * tree-inline.c (remap_gimple_stmt): Split out trapping compares
+       when inlining into a non-call EH function.
+
+2020-05-18  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95172
+       * tree-ssa-loop-im.c (execute_sm): Get flag whether we
+       eventually need the conditional processing.
+       (execute_sm_exit): When processing an orderd sequence
+       avoid doing any conditional processing.
+       (hoist_memory_references): Pass down whether all edges
+       have ordered processing for a ref to execute_sm.
+
+2020-05-17 Jeff Law  <law@redhat.com>
+
+       * config/h8300/predicates.md (pc_or_label_operand): New predicate.
+       * config/h8300/jumpcall.md (branch_true, branch_false): Consolidate
+       into a single pattern using pc_or_label_operand.
+       * config/h8300/combiner.md (bit branch patterns): Likewise.
+       * config/h8300/peepholes.md (HImode and SImode branches): Likewise.
+
+2020-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/95021
+       * config/i386/i386-features.c (has_non_address_hard_reg):
+       Renamed to ...
+       (pseudo_reg_set): This.  Return the SET expression.  Ignore
+       pseudo register push.
+       (general_scalar_to_vector_candidate_p): Combine single_set and
+       has_non_address_hard_reg calls to pseudo_reg_set.
+       (timode_scalar_to_vector_candidate_p): Likewise.
+       * config/i386/i386.md (*pushv1ti2): New pattern.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       Revert:
+       2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (operand_less_p): Move to...
+       * vr-values.c (operand_less_p): ...here.
+       * tree-vrp.h (operand_less_p): Remove.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (operand_less_p): Move to...
+       * vr-values.c (operand_less_p): ...here.
+       * tree-vrp.h (operand_less_p): Remove.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class vrp_insert): Remove prototype for
+       live_on_edge.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class live_names): New.
+       (live_on_edge): Move into live_names.
+       (build_assert_expr_for): Move into vrp_insert.
+       (find_assert_locations_in_bb): Rename from
+       find_assert_locations_1.
+       (process_assert_insertions_for): Move into vrp_insert.
+       (compare_assert_loc): Same.
+       (remove_range_assertions): Same.
+       (dump_asserts_for): Rename to vrp_insert::dump.
+       (debug_asserts_for): Rename to vrp_insert::debug.
+       (dump_all_asserts): Rename to vrp_insert::dump.
+       (debug_all_asserts): Rename to vrp_insert::debug.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (class vrp_prop): Move check_all_array_refs,
+       check_array_ref, check_mem_ref, and search_for_addr_array
+       into new class...
+       (class array_bounds_checker): ...here.
+       (class check_array_bounds_dom_walker): Adjust to use
+       array_bounds_checker.
+       (check_all_array_refs): Move into array_bounds_checker and rename
+       to check.
+       (class vrp_folder): Make fold_predicate_in private.
+
+2020-05-15 Jeff Law  <law@redhat.com>
+
+       * config/h8300/h8300.md (SFI iterator): New iterator for
+       SFmode and SImode.
+       * config/h8300/peepholes.md (memory comparison): Use mode
+       iterator to consolidate 3 patterns into one.
+       (stack allocation and stack store): Handle SFmode.  Handle
+       8 byte allocations.
+
+2020-05-15  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000-builtin.def (BU_FUTURE_MISC_2): Also require
+       RS6000_BTM_POWERPC64.
+
+2020-05-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (SWI48DWI): New mode iterator.
+       (*push<mode>2): Allow XMM registers.
+       (*pushdi2_rex64): Ditto.
+       (*pushsi2_rex64): Ditto.
+       (*pushsi2): Ditto.
+       (push XMM reg splitter): New splitter
+
+       (*pushdf) Change "x" operand constraint to "v".
+       (*pushsf_rex64): Ditto.
+       (*pushsf): Ditto.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/92260
+       * tree-vect-slp.c (vect_get_constant_vectors): Compute
+       the number of vector stmts in a canonical way.
+
+2020-05-15  Martin Liska  <mliska@suse.cz>
+
+       * hsa-gen.c (get_symbol_for_decl): Fix misleading indentation
+       warning.
+
+2020-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (v<expander><mode>3): Fix unsignedp.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95133
+       * gimple-ssa-split-paths.c
+       (find_block_to_duplicate_for_splitting_paths): Check for
+       normal edges.
+
+2020-05-15  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        * config/arm/arm.c (reg_needs_saving_p): Add support for interrupt
+        routines.
+        (arm_compute_save_reg0_reg12_mask): Use reg_needs_saving_p.
+
+2020-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+       PR middle-end/94635
+       * gimplify.c (gimplify_scan_omp_clauses): For MAP_TO_PSET with
+       OMP_TARGET_EXIT_DATA, use 'release:' unless the associated
+       item is 'delete:'.
+
+2020-05-15  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/i386.md (isa): Add sse3_noavx.
+       (enabled): Handle sse3_noavx.
+
+       * config/i386/mmx.md (mmx_haddv2sf3): New expander.
+       (*mmx_haddv2sf3): Rename from mmx_haddv2sf3.  Add SSE/AVX
+       alternatives.  Match commutative vec_select selector operands.
+       (*mmx_haddv2sf3_low): New insn pattern.
+
+       (*mmx_hsubv2sf3): Add SSE/AVX alternatives.
+       (*mmx_hsubv2sf3_low): New insn pattern.
+
+2020-05-15  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/33315
+       * tree-ssa-sink.c: Include tree-eh.h.
+       (sink_stats): Add commoned member.
+       (sink_common_stores_to_bb): New function implementing store
+       commoning by sinking to the successor.
+       (sink_code_in_bb): Call it, pass down TODO_cleanup_cfg returned.
+       (pass_sink_code::execute): Likewise.  Record commoned stores
+       in statistics.
+
+2020-05-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>
+
+       PR rtl-optimization/37451, part of PR target/61837
+       * loop-doloop.c (doloop_simplify_count): New function.  Simplify
+       (add -1; zero_ext; add +1) to zero_ext when not wrapping.
+       (doloop_modify): Call doloop_simplify_count.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR jit/94778
+       * doc/sourcebuild.texi: Document effective target lgccjit.
+
+2020-05-14  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/gcn/gcn-valu.md (add<mode>3_zext_dup): Change to a
+       define_expand, and rename the original to ...
+       (add<mode>3_vcc_zext_dup): ... this, and add a custom VCC operand.
+       (add<mode>3_zext_dup_exec): Likewise, with ...
+       (add<mode>3_vcc_zext_dup_exec): ... this.
+       (add<mode>3_zext_dup2): Likewise, with ...
+       (add<mode>3_zext_dup_exec): ... this.
+       (add<mode>3_zext_dup2_exec): Likewise, with ...
+       (add<mode>3_zext_dup2): ... this.
+       * config/gcn/gcn.c (gcn_expand_scalar_to_vector_address): Switch
+       addv64di3_zext* calls to use addv64di3_vcc_zext*.
+
+2020-05-14  Uroš Bizjak  <ubizjak@gmail.com>
+
+       PR target/95046
+       * config/i386/sse.md (truncv2dfv2df2): New insn pattern.
+       (extendv2sfv2df2): Ditto.
+
+2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2020-05-14  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * config/arm/arm.c (reg_needs_saving_p): New function.
+       (use_return_insn): Use reg_needs_saving_p.
+       (arm_get_vfp_saved_size): Likewise.
+       (arm_compute_frame_layout): Likewise.
+       (arm_save_coproc_regs): Likewise.
+       (thumb1_expand_epilogue): Likewise.
+       (arm_expand_epilogue_apcs_frame): Likewise.
+       (arm_expand_epilogue): Likewise.
+
 2020-05-14  Christophe Lyon  <christophe.lyon@linaro.org>
 
         * config/arm/arm.c (thumb1_expand_prologue): Update error message.
This page took 0.050703 seconds and 5 git commands to generate.