+2020-08-06 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.md (MM): New mode_iterator.
+ ("mov<mode>"): New expander to expand for all MM-modes.
+ ("*movqi_expanded", "*movhi_expanded", "*movsi_expanded")
+ ("*movsf_expanded", "*movdf_expanded"): Rename from the
+ corresponding mov<M> named pattern. Add to the condition that
+ either operand must be a register_operand.
+ ("*movdi_expanded"): Similar, but also allow STCO in the condition.
+
+2020-08-06 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR target/96191
+ * config/arm/arm.md (arm_stack_protect_test_insn): Zero out
+ operand 2 after use.
+ * config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise.
+
+2020-08-06 Peter Bergner <bergner@linux.ibm.com>
+
+ PR target/96446
+ * config/rs6000/mma.md (*movpxi): Add xxsetaccz generation.
+ Disable split for zero constant source operand.
+ (mma_xxsetaccz): Change to define_expand. Call gen_movpxi.
+
+2020-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96480
+ * tree-ssa-reassoc.c (suitable_cond_bb): Add TEST_SWAPPED_P argument.
+ If TEST_BB ends in cond and has one edge to *OTHER_BB and another
+ through an empty bb to that block too, if PHI args don't match, retry
+ them through the other path from TEST_BB.
+ (maybe_optimize_range_tests): Adjust callers. Handle such LAST_BB
+ through inversion of the condition.
+
+2020-08-06 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * config/bpf/bpf-helpers.h (KERNEL_HELPER): Define.
+ (KERNEL_VERSION): Remove.
+ * config/bpf/bpf-helpers.def: Delete.
+ * config/bpf/bpf.c (bpf_handle_fndecl_attribute): New function.
+ (bpf_attribute_table): Define.
+ (bpf_helper_names): Delete.
+ (bpf_helper_code): Likewise.
+ (enum bpf_builtins): Adjust to new helpers mechanism.
+ (bpf_output_call): Likewise.
+ (bpf_init_builtins): Likewise.
+ (bpf_init_builtins): Likewise.
+ * doc/extend.texi (BPF Function Attributes): New section.
+ (BPF Kernel Helpers): Delete section.
+
+2020-08-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96491
+ * tree-ssa-sink.c (sink_common_stores_to_bb): Avoid
+ sinking across abnormal edges.
+
+2020-08-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96483
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
+ POLY_INT_CST.
+
+2020-08-06 Richard Biener <rguenther@suse.de>
+
+ * graphite-isl-ast-to-gimple.c (ivs_params): Use hash_map instead
+ of std::map.
+ (ivs_params_clear): Adjust.
+ (gcc_expression_from_isl_ast_expr_id): Likewise.
+ (graphite_create_new_loop): Likewise.
+ (add_parameters_to_ivs_params): Likewise.
+
+2020-08-06 Roger Sayle <roger@nextmovesoftware.com>
+ Uroš Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (MAXMIN_IMODE): No longer needed.
+ (<maxmin><mode>3): Support SWI248 and general_operand for
+ second operand, when TARGET_CMOVE.
+ (<maxmin><mode>3_1 splitter): Optimize comparisons against
+ 0, 1 and -1 to use "test" instead of "cmp".
+ (*<maxmin>di3_doubleword): Likewise, allow general_operand
+ and enable on TARGET_CMOVE.
+ (peephole2): Convert clearing a register after a flag setting
+ instruction into an xor followed by the original flag setter.
+
+2020-08-06 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * ipa-fnsummary.c (INCLUDE_VECTOR): Define.
+ Remove direct inclusion of <vector>.
+
+2020-08-06 Kewen Lin <linkw@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_adjust_vect_cost_per_loop): New
+ function.
+ (rs6000_finish_cost): Call rs6000_adjust_vect_cost_per_loop.
+ * tree-vect-loop.c (vect_estimate_min_profitable_iters): Add cost
+ modeling for vector with length.
+ (vect_rgroup_iv_might_wrap_p): New function, factored out from...
+ * tree-vect-loop-manip.c (vect_set_loop_controls_directly): ...this.
+ Update function comment.
+ * tree-vect-stmts.c (vect_gen_len): Update function comment.
+ * tree-vectorizer.h (vect_rgroup_iv_might_wrap_p): New declare.
+
+2020-08-06 Kewen Lin <linkw@linux.ibm.com>
+
+ * tree-vectorizer.c (try_vectorize_loop_1): Skip the epilogue loops
+ for dbgcnt check.
+
2020-08-05 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/95906
+2020-08-06 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/arm/stack-protector-1.c: New test.
+ * gcc.target/arm/stack-protector-2.c: Likewise.
+
+2020-08-06 Peter Bergner <bergner@linux.ibm.com>
+
+ PR target/96446
+ * gcc.target/powerpc/pr96446.c: New test.
+
+2020-08-06 Roger Sayle <roger@nextmovesoftware.com>
+
+ * gcc.target/i386/minmax-9.c: Restrict test to !ia32.
+
+2020-08-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96480
+ * gcc.dg/tree-ssa/pr96480.c: New test.
+
+2020-08-06 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * gcc.target/bpf/helper-bind.c: Adjust to new kernel helpers
+ mechanism.
+ * gcc.target/bpf/helper-bpf-redirect.c: Likewise.
+ * gcc.target/bpf/helper-clone-redirect.c: Likewise.
+ * gcc.target/bpf/helper-csum-diff.c: Likewise.
+ * gcc.target/bpf/helper-csum-update.c: Likewise.
+ * gcc.target/bpf/helper-current-task-under-cgroup.c: Likewise.
+ * gcc.target/bpf/helper-fib-lookup.c: Likewise.
+ * gcc.target/bpf/helper-get-cgroup-classid.c: Likewise.
+ * gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
+ * gcc.target/bpf/helper-get-current-comm.c: Likewise.
+ * gcc.target/bpf/helper-get-current-pid-tgid.c: Likewise.
+ * gcc.target/bpf/helper-get-current-task.c: Likewise.
+ * gcc.target/bpf/helper-get-current-uid-gid.c: Likewise.
+ * gcc.target/bpf/helper-get-hash-recalc.c: Likewise.
+ * gcc.target/bpf/helper-get-listener-sock.c: Likewise.
+ * gcc.target/bpf/helper-get-local-storage.c: Likewise.
+ * gcc.target/bpf/helper-get-numa-node-id.c: Likewise.
+ * gcc.target/bpf/helper-get-prandom-u32.c: Likewise.
+ * gcc.target/bpf/helper-get-route-realm.c: Likewise.
+ * gcc.target/bpf/helper-get-smp-processor-id.c: Likewise.
+ * gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
+ * gcc.target/bpf/helper-get-socket-uid.c: Likewise.
+ * gcc.target/bpf/helper-get-stack.c: Likewise.
+ * gcc.target/bpf/helper-get-stackid.c: Likewise.
+ * gcc.target/bpf/helper-getsockopt.c: Likewise.
+ * gcc.target/bpf/helper-ktime-get-ns.c: Likewise.
+ * gcc.target/bpf/helper-l3-csum-replace.c: Likewise.
+ * gcc.target/bpf/helper-l4-csum-replace.c: Likewise.
+ * gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
+ * gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
+ * gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
+ * gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
+ * gcc.target/bpf/helper-map-delete-elem.c: Likewise.
+ * gcc.target/bpf/helper-map-lookup-elem.c: Likewise.
+ * gcc.target/bpf/helper-map-peek-elem.c: Likewise.
+ * gcc.target/bpf/helper-map-pop-elem.c: Likewise.
+ * gcc.target/bpf/helper-map-push-elem.c: Likewise.
+ * gcc.target/bpf/helper-map-update-elem.c: Likewise.
+ * gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
+ * gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
+ * gcc.target/bpf/helper-msg-pop-data.c: Likewise.
+ * gcc.target/bpf/helper-msg-pull-data.c: Likewise.
+ * gcc.target/bpf/helper-msg-push-data.c: Likewise.
+ * gcc.target/bpf/helper-msg-redirect-hash.c: Likewise.
+ * gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
+ * gcc.target/bpf/helper-override-return.c: Likewise.
+ * gcc.target/bpf/helper-perf-event-output.c: Likewise.
+ * gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
+ * gcc.target/bpf/helper-perf-event-read.c: Likewise.
+ * gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
+ * gcc.target/bpf/helper-probe-read-str.c: Likewise.
+ * gcc.target/bpf/helper-probe-read.c: Likewise.
+ * gcc.target/bpf/helper-probe-write-user.c: Likewise.
+ * gcc.target/bpf/helper-rc-keydown.c: Likewise.
+ * gcc.target/bpf/helper-rc-pointer-rel.c: Likewise.
+ * gcc.target/bpf/helper-rc-repeat.c: Likewise.
+ * gcc.target/bpf/helper-redirect-map.c: Likewise.
+ * gcc.target/bpf/helper-set-hash-invalid.c: Likewise.
+ * gcc.target/bpf/helper-set-hash.c: Likewise.
+ * gcc.target/bpf/helper-setsockopt.c: Likewise.
+ * gcc.target/bpf/helper-sk-fullsock.c: Likewise.
+ * gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
+ * gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
+ * gcc.target/bpf/helper-sk-redirect-hash.c: Likewise.
+ * gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
+ * gcc.target/bpf/helper-sk-release.c: Likewise.
+ * gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
+ * gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
+ * gcc.target/bpf/helper-sk-storage-get.c: Likewise.
+ * gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
+ * gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
+ * gcc.target/bpf/helper-skb-change-head.c: Likewise.
+ * gcc.target/bpf/helper-skb-change-proto.c: Likewise.
+ * gcc.target/bpf/helper-skb-change-tail.c: Likewise.
+ * gcc.target/bpf/helper-skb-change-type.c: Likewise.
+ * gcc.target/bpf/helper-skb-ecn-set-ce.c: Likewise.
+ * gcc.target/bpf/helper-skb-get-tunnel-key.c: Likewise.
+ * gcc.target/bpf/helper-skb-get-tunnel-opt.c: Likewise.
+ * gcc.target/bpf/helper-skb-get-xfrm-state.c: Likewise.
+ * gcc.target/bpf/helper-skb-load-bytes-relative.c: Likewise.
+ * gcc.target/bpf/helper-skb-load-bytes.c: Likewise.
+ * gcc.target/bpf/helper-skb-pull-data.c: Likewise.
+ * gcc.target/bpf/helper-skb-set-tunnel-key.c: Likewise.
+ * gcc.target/bpf/helper-skb-set-tunnel-opt.c: Likewise.
+ * gcc.target/bpf/helper-skb-store-bytes.c: Likewise.
+ * gcc.target/bpf/helper-skb-under-cgroup.c: Likewise.
+ * gcc.target/bpf/helper-skb-vlan-pop.c: Likewise.
+ * gcc.target/bpf/helper-skb-vlan-push.c: Likewise.
+ * gcc.target/bpf/helper-skc-lookup-tcp.c: Likewise.
+ * gcc.target/bpf/helper-sock-hash-update.c: Likewise.
+ * gcc.target/bpf/helper-sock-map-update.c: Likewise.
+ * gcc.target/bpf/helper-sock-ops-cb-flags-set.c: Likewise.
+ * gcc.target/bpf/helper-spin-lock.c: Likewise.
+ * gcc.target/bpf/helper-spin-unlock.c: Likewise.
+ * gcc.target/bpf/helper-strtol.c: Likewise.
+ * gcc.target/bpf/helper-strtoul.c: Likewise.
+ * gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
+ * gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
+ * gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
+ * gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
+ * gcc.target/bpf/helper-tail-call.c: Likewise.
+ * gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
+ * gcc.target/bpf/helper-tcp-sock.c: Likewise.
+ * gcc.target/bpf/helper-trace-printk.c: Likewise.
+ * gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
+ * gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
+ * gcc.target/bpf/helper-xdp-adjust-tail.c: Likewise.
+ * gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
+
+2020-08-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/96491
+ * gcc.dg/torture/pr96491.c: New testcase.
+
+2020-08-06 Roger Sayle <roger@nextmovesoftware.com>
+ Uroš Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/minmax-8.c: New test.
+ * gcc.target/i386/minmax-9.c: New test.
+ * gcc.target/i386/minmax-10.c: New test.
+ * gcc.target/i386/minmax-11.c: New test.
+
2020-08-05 Patrick Palka <ppalka@redhat.com>
Jason Merrill <jason@redhat.com>
+2020-08-06 Andrew Luo <andrewluotechnologies@outlook.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4): Use less greedy
+ patterns for basic_string members.
+ (GLIBCXX_3.4.29): Export new basic_string::reserve symbols.
+ * doc/xml/manual/status_cxx2020.xml: Update P0966 status.
+ * include/bits/basic_string.h (shrink_to_fit()): Call reserve().
+ (reserve(size_type)): Remove default argument.
+ (reserve()): Declare new overload.
+ [!_GLIBCXX_USE_CXX11_ABI] (shrink_to_fit, reserve): Likewise.
+ * include/bits/basic_string.tcc (reserve(size_type)): Remove
+ support for shrinking capacity.
+ (reserve()): Perform shrink-to-fit operation.
+ [!_GLIBCXX_USE_CXX11_ABI] (reserve): Likewise.
+ * testsuite/21_strings/basic_string/capacity/1.cc: Adjust to
+ reflect new behavior.
+ * testsuite/21_strings/basic_string/capacity/char/1.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/capacity/char/18654.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/capacity/char/2.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc:
+ Likewise.
+
+2020-08-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/basic_string.tcc
+ (operator>>(basic_istream&, basic_string&)): Do not set eofbit
+ if extraction stopped after in.width() characters.
+ * src/c++98/istream-string.cc (operator>>(istream&, string&)):
+ Likewise.
+ * include/bits/istream.tcc (__istream_extract): Do not set
+ eofbit if extraction stopped after n-1 characters.
+ * src/c++98/istream.cc (__istream_extract): Likewise.
+ * testsuite/21_strings/basic_string/inserters_extractors/char/13.cc: New test.
+ * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/13.cc: New test.
+ * testsuite/27_io/basic_istream/extractors_character/char/5.cc: New test.
+ * testsuite/27_io/basic_istream/extractors_character/wchar_t/5.cc: New test.
+
+2020-08-06 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/96484
+ * src/c++17/fs_ops.cc (fs::read_symlink): Return an error
+ immediately for non-symlinks.
+ * src/filesystem/ops.cc (fs::read_symlink): Likewise.
+
+2020-08-06 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/istream (operator>>(istream&, char*)): Add
+ attributes to get warnings for pointers that are null or known
+ to point to the end of a buffer. Request upper bound from
+ __builtin_object_size check and handle zero-sized buffer case.
+ (operator>>(istream&, signed char))
+ (operator>>(istream&, unsigned char*)): Add attributes.
+ * testsuite/27_io/basic_istream/extractors_character/char/overflow.cc:
+ Check extracting into the middle of a buffer.
+ * testsuite/27_io/basic_istream/extractors_character/wchar_t/overflow.cc: New test.
+
2020-08-05 Jonathan Wakely <jwakely@redhat.com>
* include/std/atomic (atomic<T>::store): Reformat.