Segher Boessenkool
812b3c62a7
rs6000: Update rlwinm-[012].c
...
gcc/testsuite/
* gcc.target/powerpc/rlwinm-0.c: Adjust expected instruction counts.
* gcc.target/powerpc/rlwinm-1.c: Ditto.
* gcc.target/powerpc/rlwinm-2.c: Ditto.
From-SVN: r275525
2019-09-09 19:57:39 +02:00
Edward Smith-Rowland
3b63f5376a
Forgot Changelog from latest commit.
...
From-SVN: r275524
2019-09-09 17:18:52 +00:00
Edward Smith-Rowland
324fb1020f
Update docs for recent <span> and constexpr lib changes.
...
2019-09-09 Edward Smith-Rowland <3dw4rd@verizon.net>
Update docs for recent <span> and constexpr lib changes.
* doc/xml/manual/status_cxx2020.xml: Update p0202r3, p0858r0, p0879r0,
p1023r0, p1085r2 status.
* doc/html/manual/status.html: Regenerate.
From-SVN: r275522
2019-09-09 16:54:31 +00:00
Richard Sandiford
f78f73cbd2
Remove bt-load.c
...
bt-load.c has AFAIK been dead code since the removal of the SH5 port
in 2016. I have a patch series that would need to update the liveness
tracking in a nontrivial way, so it seemed better to remove the pass
rather than install an untested and probably bogus change.
2019-09-09 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* Makefile.in (OBJS): Remove bt-load.o.
* doc/invoke.texi (fbranch-target-load-optimize): Delete.
(fbranch-target-load-optimize2, fbtr-bb-exclusive): Likewise.
* common.opt (fbranch-target-load-optimize): Mark as Ignore and
document that the option no longer does anything.
(fbranch-target-load-optimize2, fbtr-bb-exclusive): Likewise.
* target.def (branch_target_register_class): Delete.
(branch_target_register_callee_saved): Likewise.
* doc/tm.texi.in (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
* doc/tm.texi: Regenerate.
* tree-pass.h (make_pass_branch_target_load_optimize1): Delete.
(make_pass_branch_target_load_optimize2): Likewise.
* passes.def (pass_branch_target_load_optimize1): Likewise.
(pass_branch_target_load_optimize2): Likewise.
* targhooks.h (default_branch_target_register_class): Likewise.
* targhooks.c (default_branch_target_register_class): Likewise.
* opt-suggestions.c (test_completion_valid_options): Remove
-fbtr-bb-exclusive from the list of test options.
* bt-load.c: Remove.
From-SVN: r275521
2019-09-09 16:52:12 +00:00
Barnaby Wilks
a6edd18cb3
match.pd: Add flag_unsafe_math_optimizations check before deciding on the widest type in...
...
2019-09-09 Barnaby Wilks <barnaby.wilks@arm.com>
* match.pd: Add flag_unsafe_math_optimizations check
before deciding on the widest type in a binary math operation.
* gcc.dg/fold-binary-math-casts.c: New test.
From-SVN: r275518
2019-09-09 12:05:36 +00:00
Martin Liska
f48ef52e40
Update comment of removed options.
...
2019-09-09 Martin Liska <mliska@suse.cz>
* config/i386/i386.opt: Update comment of removed
options that are preserved only for backward
compatibility.
2019-09-09 Martin Liska <mliska@suse.cz>
* c.opt: Update comment of removed
options that are preserved only for backward
compatibility.
From-SVN: r275517
2019-09-09 11:47:54 +00:00
Antony Polukhin
d0e086ae4f
Minor std::to_chars optimisation for base 10
...
__to_chars_10_impl is quite fast. According to the IACA the main loop
takes only 6.0 cycles, the whole function with one iteration takes
10.0 cycles. Replacing the __first[pos] and __first[pos - 1] with
__first[0] and __first[1] drops the function time to 7.53 cycles.
2019-09-09 Antony Polukhin <antoshkka@gmail.com>
* include/bits/charconv.h (__detail::__to_chars_10_impl): Replace
final offsets with constants.
From-SVN: r275514
2019-09-09 12:12:44 +01:00
Jonathan Wakely
27dada7d06
Improve constraints for std::span constructors
...
This patch simplifies the constraints on the constructors from arrays by
removing the redundant checks that element_type and value_type are
convertible to element_type. The incorrect uses of __adl_data in those
constructors are removed as well (they should use std::data not
std::ranges::data, and the former doesn't use ADL).
The range/container constructors are now constrained to exclude all
specializations of std::span, not just the current instantiation. The
range constructor now also checks s subset of the contiguous_range
requirements.
All relevant constructor constraints now use the _Require helper in
order to short circuit and avoid unnecessary instantiations after the
first failed constraint.
A new constructor supports initialization from different specializations
of std::span<OtherType, OtherExtent>, as specified in the C++20 draft.
* include/bits/range_access.h (__adl_to_address): Remove.
* include/std/span (__is_base_derived_safe_convertible_v): Replace
with span::__is_compatible.
(__is_std_array_v): Replace with __is_std_array class template and
partial specializations.
(__is_std_array, __is_std_span): New class templates and partial
specializations.
(span::__is_compatible): New alias template for SFINAE constraints.
(span::span(element_type (&)[N])): Remove redundant constraints. Do
not use __adl_data to obtain a pointer.
(span::span(array<value_type, N>&)): Likewise.
(span::span(const array<value_type, N>&)): Likewise.
[_GLIBCXX_P1394] (span::iter_reference_t, span::iterator_t)
(span::iter_value_t, span::derived_from): New alias templates for
SFINAE constraints, until the equivalents are supported in <concepts>
and <iterator>.
[_GLIBCXX_P1394] (span::__is_compatible_iterator): New alias template
for SFINAE constraints.
[_GLIBCXX_P1394] (span::is_compatible_range): New class template for
SFINAE constraints.
[_GLIBCXX_P1394] (span::span(Range&&)): Improve constraints.
[_GLIBCXX_P1394] (span::span(ContiguousIterator, Sentinel)): Likewise.
Use std::to_address instead of __adl_to_address.
[_GLIBCXX_P1394] (span::span(ContiguousIterator, size_type)): Likewise.
[!_GLIBCXX_P1394] (span::__is_compatible_container): New alias
template for SFINAE constraints.
[!_GLIBCXX_P1394] (span::span(Container&))
(span::span(const Container&)): Improve constraints.
[!_GLIBCXX_P1394] (span::span(pointer, size_type))
(span::span(pointer, pointer)): Remove redundant cast of pointer.
(span(const span<OType, OExtent>&)): New constructor.
From-SVN: r275513
2019-09-09 12:12:38 +01:00
Jakub Jelinek
ca47c3987c
re PR target/87853 (_mm_cmpgt_epi8 broken with -funsigned-char)
...
PR target/87853
* config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi
instead of __v16qs.
* gcc.target/i386/pr87853.c: New test.
From-SVN: r275508
2019-09-09 12:31:02 +02:00
Jakub Jelinek
b245befcdd
re PR target/91704 ([X86] Codegen for _mm256_cmpgt_epi8 is affected by -funsigned-char)
...
PR target/91704
* config/i386/avxintrin.h (__v32qs): New typedef.
* config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs
instead of __v32qi.
* gcc.target/i386/pr91704.c: New test.
From-SVN: r275507
2019-09-09 12:26:50 +02:00
Jose E. Marchesi
91dfef9610
GCC port for eBPF
...
This patch series introduces a port of GCC to eBPF, which is a virtual
machine that resides in the Linux kernel. Initially intended for
user-level packet capture and filtering, eBPF is nowadays generalized
to serve as a general-purpose infrastructure also for non-networking
purposes.
The binutils support is already upstream. See
https://sourceware.org/ml/binutils/2019-05/msg00306.html .
ChangeLog:
* MAINTAINERS: Add myself as the maintainer of the eBPF port.
Remove myself from Write After Approval section.
* configure.ac: Support for bpf-*-* targets.
* configure: Regenerate.
contrib/ChangeLog:
* config-list.mk (LIST): Disable go in bpf-*-* targets.
gcc/ChangeLog:
* doc/invoke.texi (Option Summary): Cover eBPF.
(eBPF Options): New section.
* doc/extend.texi (BPF Built-in Functions): Likewise.
(BPF Kernel Helpers): Likewise.
* config.gcc: Support for bpf-*-* targets.
* common/config/bpf/bpf-common.c: New file.
* config/bpf/t-bpf: Likewise.
* config/bpf/predicates.md: Likewise.
* config/bpf/constraints.md: Likewise.
* config/bpf/bpf.opt: Likewise.
* config/bpf/bpf.md: Likewise.
* config/bpf/bpf.h: Likewise.
* config/bpf/bpf.c: Likewise.
* config/bpf/bpf-protos.h: Likewise.
* config/bpf/bpf-opts.h: Likewise.
* config/bpf/bpf-helpers.h: Likewise.
* config/bpf/bpf-helpers.def: Likewise.
gcc/testsuite/ChangeLog:
* gcc.dg/builtins-config.h: eBPF doesn't support C99 standard
functions.
* gcc.c-torture/compile/20101217-1.c: Add a function prototype for
printf.
* gcc.c-torture/compile/20000211-1.c: Skip if target bpf-*-*.
* gcc.c-torture/compile/poor.c: Likewise.
* gcc.c-torture/compile/pr25311.c: Likewise.
* gcc.c-torture/compile/pr39928-1.c: Likewise.
* gcc.c-torture/compile/pr70061.c: Likewise.
* gcc.c-torture/compile/920501-7.c: Likewise.
* gcc.c-torture/compile/20000403-1.c: Likewise.
* gcc.c-torture/compile/20001226-1.c: Likewise.
* gcc.c-torture/compile/20030903-1.c: Likewise.
* gcc.c-torture/compile/20031125-1.c: Likewise.
* gcc.c-torture/compile/20040101-1.c: Likewise.
* gcc.c-torture/compile/20040317-2.c: Likewise.
* gcc.c-torture/compile/20040726-1.c: Likewise.
* gcc.c-torture/compile/20051216-1.c: Likewise.
* gcc.c-torture/compile/900313-1.c: Likewise.
* gcc.c-torture/compile/920625-1.c: Likewise.
* gcc.c-torture/compile/930421-1.c: Likewise.
* gcc.c-torture/compile/930623-1.c: Likewise.
* gcc.c-torture/compile/961004-1.c: Likewise.
* gcc.c-torture/compile/980504-1.c: Likewise.
* gcc.c-torture/compile/980816-1.c: Likewise.
* gcc.c-torture/compile/990625-1.c: Likewise.
* gcc.c-torture/compile/DFcmp.c: Likewise.
* gcc.c-torture/compile/HIcmp.c: Likewise.
* gcc.c-torture/compile/HIset.c: Likewise.
* gcc.c-torture/compile/QIcmp.c: Likewise.
* gcc.c-torture/compile/QIset.c: Likewise.
* gcc.c-torture/compile/SFset.c: Likewise.
* gcc.c-torture/compile/SIcmp.c: Likewise.
* gcc.c-torture/compile/SIset.c: Likewise.
* gcc.c-torture/compile/UHIcmp.c: Likewise.
* gcc.c-torture/compile/UQIcmp.c: Likewise.
* gcc.c-torture/compile/USIcmp.c: Likewise.
* gcc.c-torture/compile/consec.c: Likewise.
* gcc.c-torture/compile/limits-fndefn.c: Likewise.
* gcc.c-torture/compile/lll.c: Likewise.
* gcc.c-torture/compile/parms.c: Likewise.
* gcc.c-torture/compile/pass.c: Likewise.
* gcc.c-torture/compile/pp.c: Likewise.
* gcc.c-torture/compile/pr32399.c: Likewise.
* gcc.c-torture/compile/pr34091.c: Likewise.
* gcc.c-torture/compile/pr34688.c: Likewise.
* gcc.c-torture/compile/pr37258.c: Likewise.
* gcc.c-torture/compile/pr37327.c: Likewise.
* gcc.c-torture/compile/pr37381.c: Likewise.
* gcc.c-torture/compile/pr37669-2.c: Likewise.
* gcc.c-torture/compile/pr37669.c: Likewise.
* gcc.c-torture/compile/pr37742-3.c: Likewise.
* gcc.c-torture/compile/pr44063.c: Likewise.
* gcc.c-torture/compile/pr48596.c: Likewise.
* gcc.c-torture/compile/pr51856.c: Likewise.
* gcc.c-torture/compile/pr54428.c: Likewise.
* gcc.c-torture/compile/pr54713-1.c: Likewise.
* gcc.c-torture/compile/pr54713-2.c: Likewise.
* gcc.c-torture/compile/pr54713-3.c: Likewise.
* gcc.c-torture/compile/pr55921.c: Likewise.
* gcc.c-torture/compile/pr70240.c: Likewise.
* gcc.c-torture/compile/pr70355.c: Likewise.
* gcc.c-torture/compile/pr82052.c: Likewise.
* gcc.c-torture/compile/pr83487.c: Likewise.
* gcc.c-torture/compile/pr86122.c: Likewise.
* gcc.c-torture/compile/pret-arg.c: Likewise.
* gcc.c-torture/compile/regs-arg-size.c: Likewise.
* gcc.c-torture/compile/structret.c: Likewise.
* gcc.c-torture/compile/uuarg.c: Likewise.
* gcc.dg/20001009-1.c: Likewise.
* gcc.dg/20020418-1.c: Likewise.
* gcc.dg/20020426-2.c: Likewise.
* gcc.dg/20020430-1.c: Likewise.
* gcc.dg/20040306-1.c: Likewise.
* gcc.dg/20040622-2.c: Likewise.
* gcc.dg/20050603-2.c: Likewise.
* gcc.dg/20050629-1.c: Likewise.
* gcc.dg/20061026.c: Likewise.
* gcc.dg/Warray-bounds-3.c: Likewise.
* gcc.dg/Warray-bounds-30.c: Likewise.
* gcc.dg/Wframe-larger-than-2.c: Likewise.
* gcc.dg/Wframe-larger-than.c: Likewise.
* gcc.dg/Wrestrict-11.c: Likewise.
* gcc.c-torture/compile/20000804-1.c: Likewise.
* lib/target-supports.exp (check_effective_target_trampolines):
Adapt to eBPF.
(check_effective_target_indirect_jumps): Likewise.
(check_effective_target_nonlocal_goto): Likewise.
(check_effective_target_global_constructor): Likewise.
(check_effective_target_return_address): Likewise.
* gcc.target/bpf/bpf.exp: New file.
* gcc.target/bpf/builtin-load.c: Likewise.
* cc.target/bpf/constant-calls.c: Likewise.
* gcc.target/bpf/diag-funargs.c: Likewise.
* gcc.target/bpf/diag-funargs-2.c: Likewise.
* gcc.target/bpf/diag-funargs-3.c: Likewise.
* gcc.target/bpf/diag-indcalls.c: Likewise.
* gcc.target/bpf/helper-bind.c: Likewise.
* 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-getsockopt.c: Likewise.
* gcc.target/bpf/helper-get-stack.c: Likewise.
* gcc.target/bpf/helper-get-stackid.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.c: Likewise.
* gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
* gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
* gcc.target/bpf/helper-probe-read.c: Likewise.
* gcc.target/bpf/helper-probe-read-str.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.c: Likewise.
* gcc.target/bpf/helper-set-hash-invalid.c: Likewise.
* gcc.target/bpf/helper-setsockopt.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.c: Likewise.
* gcc.target/bpf/helper-skb-load-bytes-relative.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-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-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.
* gcc.target/bpf/sync-fetch-and-add.c: Likewise.
libgcc/ChangeLog:
* config.host: Set cpu_type for bpf-*-* targets.
* config/bpf/t-bpf: Likewise.
* config/bpf/crtn.S: Likewise.
* config/bpf/crti.S: New file.
From-SVN: r275506
2019-09-09 12:13:23 +02:00
Jose E. Marchesi
a5362c6aea
testsuite: new require effective target indirect_calls
...
This patch adds a new dg_require_effective_target procedure to the
testsuite infrastructure: indirect_calls. This new function tells
whether a target supports calls to non-constant call targets.
This patch also annotates the tests in the gcc.c-torture testuite that
require support for indirect calls.
gcc/ChangeLog:
* doc/sourcebuild.texi (Effective-Target Keywords): Document
indirect_calls.
gcc/testsuite/ChangeLog:
* lib/target-supports.exp (check_effective_target_indirect_calls):
New proc.
* gcc.c-torture/compile/20010102-1.c: Annotate with
dg-require-effective-target indirect_calls.
* gcc.c-torture/compile/20010107-1.c: Likewise.
* gcc.c-torture/compile/20011109-1.c: Likewise.
* gcc.c-torture/compile/20011218-1.c: Likewise.
* gcc.c-torture/compile/20011229-1.c: Likewise.
* gcc.c-torture/compile/20020129-1.c: Likewise.
* gcc.c-torture/compile/20020320-1.c: Likewise.
* gcc.c-torture/compile/20020706-1.c: Likewise.
* gcc.c-torture/compile/20020706-2.c: Likewise.
* gcc.c-torture/compile/20021205-1.c: Likewise.
* gcc.c-torture/compile/20030921-1.c: Likewise.
* gcc.c-torture/compile/20031023-1.c: Likewise.
* gcc.c-torture/compile/20031023-2.c: Likewise.
* gcc.c-torture/compile/20031023-3.c: Likewise.
* gcc.c-torture/compile/20031023-4.c: Likewise.
* gcc.c-torture/compile/20040614-1.c: Likewise.
* gcc.c-torture/compile/20040909-1.c: Likewise.
* gcc.c-torture/compile/20050122-1.c: Likewise.
* gcc.c-torture/compile/20050202-1.c: Likewise.
* gcc.c-torture/compile/20060208-1.c: Likewise.
* gcc.c-torture/compile/20081108-1.c: Likewise.
* gcc.c-torture/compile/20150327.c: Likewise.
* gcc.c-torture/compile/920428-2.c: Likewise.
* gcc.c-torture/compile/920928-5.c: Likewise.
* gcc.c-torture/compile/930117-1.c: Likewise.
* gcc.c-torture/compile/930607-1.c: Likewise.
* gcc.c-torture/compile/991213-2.c: Likewise.
* gcc.c-torture/compile/callind.c: Likewise.
* gcc.c-torture/compile/calls-void.c: Likewise.
* gcc.c-torture/compile/calls.c: Likewise.
* gcc.c-torture/compile/pr21840.c: Likewise.
* gcc.c-torture/compile/pr32139.c: Likewise.
* gcc.c-torture/compile/pr35607.c: Likewise.
* gcc.c-torture/compile/pr37433-1.c: Likewise.
* gcc.c-torture/compile/pr37433.c: Likewise.
* gcc.c-torture/compile/pr39941.c: Likewise.
* gcc.c-torture/compile/pr40080.c: Likewise.
* gcc.c-torture/compile/pr43635.c: Likewise.
* gcc.c-torture/compile/pr43791.c: Likewise.
* gcc.c-torture/compile/pr43845.c: Likewise.
* gcc.c-torture/compile/pr44043.c: Likewise.
* gcc.c-torture/compile/pr51694.c: Likewise.
* gcc.c-torture/compile/pr77754-2.c: Likewise.
* gcc.c-torture/compile/pr77754-3.c: Likewise.
* gcc.c-torture/compile/pr77754-4.c: Likewise.
* gcc.c-torture/compile/pr89663-2.c: Likewise.
* gcc.c-torture/compile/pta-1.c: Likewise.
* gcc.c-torture/compile/stack-check-1.c: Likewise.
* gcc.dg/Walloc-size-larger-than-18.c: Likewise.
From-SVN: r275505
2019-09-09 11:55:10 +02:00
Jose E. Marchesi
e9b8025bb0
testsuite: annotate c-torture/compile tests with dg-require-stack-size
...
This patch annotates tests that make use of a significant a mount of
stack space. Embedded and other restricted targets may have problems
compiling and running these tests. Note that the annotations are in
many cases not exact.
testsuite/ChangeLog:
* gcc.c-torture/compile/20000609-1.c: Annotate with
dg-require-stack-size.
* gcc.c-torture/compile/20000804-1.c: Likewise.
* gcc.c-torture/compile/20020304-1.c: Likewise.
* gcc.c-torture/compile/20020604-1.c: Likewise.
* gcc.c-torture/compile/20021015-1.c: Likewise.
* gcc.c-torture/compile/20050303-1.c: Likewise.
* gcc.c-torture/compile/20060421-1.c: Likewise.
* gcc.c-torture/compile/20071207-1.c: Likewise.
* gcc.c-torture/compile/20080903-1.c: Likewise.
* gcc.c-torture/compile/20121027-1.c: Likewise.
* gcc.c-torture/compile/20151204.c: Likewise.
* gcc.c-torture/compile/920501-12.c: Likewise.
* gcc.c-torture/compile/920501-4.c: Likewise.
* gcc.c-torture/compile/920723-1.c: Likewise.
* gcc.c-torture/compile/921202-1.c: Likewise.
* gcc.c-torture/compile/931003-1.c: Likewise.
* gcc.c-torture/compile/931004-1.c: Likewise.
* gcc.c-torture/compile/950719-1.c: Likewise.
* gcc.c-torture/compile/951222-1.c: Likewise.
* gcc.c-torture/compile/990517-1.c: Likewise.
* gcc.c-torture/compile/bcopy.c: Likewise.
* gcc.c-torture/compile/pr23929.c: Likewise.
* gcc.c-torture/compile/pr25310.c: Likewise.
* gcc.c-torture/compile/pr34458.c: Likewise.
* gcc.c-torture/compile/pr39937.c: Likewise.
* gcc.c-torture/compile/pr41181.c: Likewise.
* gcc.c-torture/compile/pr41634.c: Likewise.
* gcc.c-torture/compile/pr43415.c: Likewise.
* gcc.c-torture/compile/pr43417.c: Likewise.
* gcc.c-torture/compile/pr44788.c: Likewise.
* gcc.c-torture/compile/sound.c: Likewise.
From-SVN: r275504
2019-09-09 11:49:34 +02:00
Jose E. Marchesi
4bc8aadf03
opt-functions.awk: fix comparison of limit, begin and end
...
The function integer_range_info makes sure that, if provided, the
initial value fills in the especified range. However, it is necessary
to convert the values to a numerical context before comparing, to make
sure awk is using arithmetical order and not lexicographical order.
gcc/ChangeLog:
* opt-functions.awk (integer_range_info): Make sure values are in
numeric context before operating with them.
From-SVN: r275503
2019-09-09 11:44:23 +02:00
Jose E. Marchesi
b7b1f65711
Update config.sub and config.guess.
...
* config.sub: Import upstream version 2019-06-30.
* config.guess: Import upstream version 2019-07-24.
From-SVN: r275502
2019-09-09 11:14:32 +02:00
GCC Administrator
108d64adca
Daily bump.
...
From-SVN: r275501
2019-09-09 00:17:08 +00:00
Segher Boessenkool
9976b31c66
genemit: Print file+line in the "Splitting with" message
...
It's tiresome to have to look in insn-emit.c to see where some split
came from, so let's print that info to the dump file as well. But
don't print the full path, just the basename, for greater readability.
* genemit.c (gen_split): Print the filename and line number where the
splitter (or peephole2) was defined, to the dump file.
From-SVN: r275497
2019-09-08 22:58:18 +02:00
GCC Administrator
30b94f5520
Daily bump.
...
From-SVN: r275493
2019-09-08 00:16:34 +00:00
Bernd Edlinger
70ca91f5d4
pr91684.c: Use effective-target arm_prefer_ldrd_strd.
...
2019-09-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.target/arm/pr91684.c: Use effective-target arm_prefer_ldrd_strd.
From-SVN: r275489
2019-09-07 18:26:26 +00:00
David Edelsohn
e950ddb04b
decomp2.C: Add TLS options.
...
* g++.dg/cpp2a/decomp2.C: Add TLS options.
* gcc.target/powerpc/pr88233.c: Limit to lp64.
From-SVN: r275488
2019-09-07 11:23:51 -04:00
Jakub Jelinek
44a06a7095
re PR tree-optimization/91665 (ICE in build_vector_from_val, at tree.c:1904)
...
PR tree-optimization/91665
* tree-vect-loop.c (vectorizable_reduction): Punt if base has type
incompatible with the type of PHI result.
* gcc.dg/vect/pr91665.c: New test.
From-SVN: r275486
2019-09-07 11:52:01 +02:00
Bernd Edlinger
8b2d8beb9f
add PR target/91684 to ChangeLog
...
From-SVN: r275484
2019-09-07 05:11:16 +00:00
Bernd Edlinger
d405dc2302
arm.c (arm_block_set_aligned_non_vect): Use gen_unaligned_storedi for 4-byte aligned addresses.
...
2019-09-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
* config/arm/arm.c (arm_block_set_aligned_non_vect): Use
gen_unaligned_storedi for 4-byte aligned addresses.
testsuite:
2019-09-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.target/arm/pr91684.c: New test.
From-SVN: r275483
2019-09-07 04:38:58 +00:00
GCC Administrator
7397488502
Daily bump.
...
From-SVN: r275482
2019-09-07 00:16:46 +00:00
Jim Wilson
2f4d895197
RISC-V: Re-enable -msave-restore for shared libraries.
...
This re-enables -msave-restore for shared libraries, and uses the
t-slibgcc-libgcc file to get the save-restore routines included directly
in shared libraries so that we don't need to indirect through the PLT
to reach them, which doesn't work.
gcc/
* config/riscv/riscv.c (riscv_option_override): Revert 2019-08-30
change.
libgcc/
* config.host (riscv*-*-linux*): Add t-slibgcc-libgcc to tmake_file.
(riscv*-*-freebsd*): Likewise.
From-SVN: r275478
2019-09-06 17:09:21 -07:00
Segher Boessenkool
e83573abb3
rs6000: Delete UNSPEC_MV_CR_OV.
...
This isn't used since 2018. (It's a remnant of paired single support).
* config/rs6000/rs6000.md (unspec): Delete UNSPEC_MV_CR_OV.
From-SVN: r275477
2019-09-06 21:43:47 +02:00
Segher Boessenkool
9393ab7492
rs6000: Delete UNSPEC_FRSP
...
This isn't used since 2012. (It's a remnant of RIOS support).
* config/rs6000/rs6000.c (rs6000_rtx_costs) <case UNSPEC>: Delete.
* config/rs6000/rs6000.md (unspec): Delete UNSPEC_FRSP.
From-SVN: r275476
2019-09-06 21:42:38 +02:00
Uros Bizjak
4e9ad7c9d8
re PR target/91654 (Regressions of SPEC2017 rate caused by r274994)
...
PR target/91654
* config/i386/x86-tune-costs.h (skylake_cost): Raise the
cost of SSE->integer and integer->SSE moves from 2 to 6.
(core_cost): Ditto.
From-SVN: r275475
2019-09-06 21:27:58 +02:00
Ian Lance Taylor
aa8901e9bb
libgo: update to Go 1.13beta1 release
...
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/193497
From-SVN: r275473
2019-09-06 18:12:46 +00:00
Jakub Jelinek
920ea3b8ba
function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P before testing TYPE_TRANSPARENT_AGGR.
...
* function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P
before testing TYPE_TRANSPARENT_AGGR.
* calls.c (initialize_argument_information, load_register_parameters):
Likewise.
From-SVN: r275472
2019-09-06 19:33:41 +02:00
David Edelsohn
28d67c175f
inf-compare-1.c: Skip AIX.
...
* gcc.dg/torture/inf-compare-1.c: Skip AIX.
* gcc.dg/torture/inf-compare-2.c: Skip AIX.
* gcc.dg/torture/inf-compare-3.c: Skip AIX.
* gcc.dg/torture/inf-compare-4.c: Skip AIX.
* gcc.dg/torture/pr52451.c: Skip AIX.
* gcc.dg/torture/pr68264.c: Skip AIX
* gcc.dg/torture/pr91323.c: Skip AIX.
From-SVN: r275464
2019-09-06 11:29:01 -04:00
David Edelsohn
613d4e784c
Warray-bounds-4.C: Skip AIX.
...
* g++.dg/warn/Warray-bounds-4.C: Skip AIX.
* g++.dg/warn/Warray-bounds-8.C: Skip AIX.
* g++.dg/opt/flifetime-dse2.C: XFAIL AIX.
* g++.dg/opt/flifetime-dse4.C: XFAIL AIX.
From-SVN: r275462
2019-09-06 11:24:28 -04:00
Caroline Tice
94ea5c6a51
Fix testcase to not use LTO with -fvtable-verify.
...
2019-09-05 Caroline Tice <cmtice@google.com>
PR testsuite/91670
* g++.dg/ubsan/pr59415.C: Disable LTO, since test uses
-fvtable-verify, and the two options are no longer allowed
together.
From-SVN: r275460
2019-09-06 07:54:48 -07:00
Jonathan Wakely
4ef5bbd815
Define std::ssize for C++20 (P1227R2)
...
* include/bits/range_access.h (ssize): Define for C++20.
* testsuite/24_iterators/range_access_cpp20.cc: New test.
* doc/xml/manual/status_cxx2020.xml: Update P1227R2 status.
* doc/html/*: Regenerate.
From-SVN: r275458
2019-09-06 13:54:51 +01:00
Nathan Sidwell
400b8274e6
[preprocessor] Popping "" file names
...
https://gcc.gnu.org/ml/gcc-patches/2019-08/msg02069.html
New # semantics for popping to "" name.
libcpp/
* directives.c (do_linemarker): Popping to "" name means get the
name from the include stack..
From-SVN: r275457
2019-09-06 12:54:19 +00:00
Nathan Sidwell
aff342a3c1
[PATCH] Deprecate -frepo option.
...
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00379.html
PR c++/91125
* cp-tree.h (IDENTIFIER_REPO_CHOSEN, DECL_REPO_AVAILABLE_P): Delete.
(struct lang_decl_base): Remove repo_available_p.
* decl.c (duplicate_decls): Don't copy DECL_REPO_AVAILABLE_P.
From-SVN: r275456
2019-09-06 12:51:44 +00:00
Nathan Sidwell
c0c2096fba
[C++ PATCH] Reserve a decl_lang bit
...
https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00365.html
Reserve TREE_LANG_FLAG_3 for modules.
gcc/cp/
* cp-tree.h (DECL_CONSTRUCTION_VTABLE_P): Delete.
(DECL_NON_TRIVIALLY_INITIALIZED_P): Move to TREE_LANG_FLAG_6.
* class.c (build_ctor_vtbl_group): Don't set
DECL_CONSTRUCTION_VTABLE_P.
* decl2.c (determine_visibility_from_class): Don't check
DECL_CONSTRUCTION_VTABLE_P anymore.
From-SVN: r275455
2019-09-06 11:22:09 +00:00
Florian Weimer
3c086f8dec
Fix GCC_LINUX_FUTEX to work with C99 compilers
...
Without this change, libstdc++ is built without futex symbols if GCC
rejects implicit function declarations by default.
From-SVN: r275454
2019-09-06 12:27:36 +02:00
Richard Earnshaw
7d99a5b62c
[arm] Add missing predicated-short-it variants to cmp_and and cmp_ior patterns
...
The cmp_and and cmp_ior patterns were missing a couple of short-it
variants for thumb2, where the comparisons are all using registers
some of which were HI_REGS.
* config/arm/arm.md (cmp_and): Add short-it variant for thumb2 with
high regs.
(cmp_ior): Likewise.
From-SVN: r275453
2019-09-06 09:58:14 +00:00
Martin Liska
973159f219
Improve documentation of for statement.
...
2019-09-06 Martin Liska <mliska@suse.cz>
* doc/match-and-simplify.texi: Separate tuples with ;.
From-SVN: r275452
2019-09-06 09:38:28 +00:00
Martin Liska
67f6e64994
Remove support for repo files (PR c++/91125).
...
2019-09-06 Martin Liska <mliska@suse.cz>
PR c++/91125
* Makefile.in: Remove tlink.o.
* collect2.c (do_link): New function isolated
from do_tlink.
(main): Use.
* collect2.h (do_tlink): Remove declaration of do_tlink.
* doc/extend.texi: Remove documentation of -frepo.
* doc/invoke.texi: Likewise.
* doc/sourcebuild.texi: Remove cleanup-repo-files.
* tlink.c: Remove.
2019-09-06 Martin Liska <mliska@suse.cz>
PR c++/91125
* c-common.c: Remove definition of flag_use_repository.
* c-common.h: Likewise.
* c-opts.c (c_common_handle_option):
Do not handle OPT_frepo option.
* c.opt: Mark the option with Deprecated.
2019-09-06 Martin Liska <mliska@suse.cz>
PR c++/91125
* Make-lang.in: Remove repo.o.
* config-lang.in: Likewise.
* cp-tree.h (init_repo): Remove declarations
of repo-related functions.
(repo_emit_p): Likewise.
(repo_export_class_p): Likewise.
(finish_repo): Likewise.
* decl2.c (import_export_class): Always
set -1 value/
(mark_needed): Remove -frepo from comment.
(import_export_decl): Similarly here.
(c_parse_final_cleanups): Remove call of finish_repo.
* lex.c (cxx_init): Remove call to init_repo.
* optimize.c (can_alias_cdtor): Remove dead condition.
* pt.c (push_template_decl_real): Update comment.
(instantiate_decl): Remove dead code used for -frepo.
* repo.c: Remove.
2019-09-06 Martin Liska <mliska@suse.cz>
PR c++/91125
* g++.dg/parse/repo1.C: Remove.
* g++.dg/rtti/repo1.C: Remove.
* g++.dg/template/repo1.C: Remove.
* g++.dg/template/repo10.C: Remove.
* g++.dg/template/repo11.C: Remove.
* g++.dg/template/repo2.C: Remove.
* g++.dg/template/repo3.C: Remove.
* g++.dg/template/repo4.C: Remove.
* g++.dg/template/repo5.C: Remove.
* g++.dg/template/repo6.C: Remove.
* g++.dg/template/repo7.C: Remove.
* g++.dg/template/repo8.C: Remove.
* g++.dg/template/repo9.C: Remove.
* g++.old-deja/g++.pt/instantiate4.C: Remove.
* g++.old-deja/g++.pt/instantiate6.C: Remove.
* g++.old-deja/g++.pt/repo1.C: Remove.
* g++.old-deja/g++.pt/repo2.C: Remove.
* g++.old-deja/g++.pt/repo3.C: Remove.
* g++.old-deja/g++.pt/repo4.C: Remove.
* lib/g++.exp: Remove removal of repo files.
* lib/gcc-dg.exp: Likewise.
* lib/obj-c++.exp: Likewise.
From-SVN: r275450
2019-09-06 06:58:42 +00:00
GCC Administrator
ebd247d4b3
Daily bump.
...
From-SVN: r275449
2019-09-06 00:16:38 +00:00
Jakub Jelinek
36ec3f57d3
RISC-V: Fix bad insn splits with paradoxical subregs.
...
Shifting by more than the size of a SUBREG_REG doesn't work, so we either
need to disable splits if an input is paradoxical, or else we need to
generate a clean temporary for intermediate results.
Jakub wrote the first version of this patch, so gets primary credit for it.
gcc/
PR target/91635
* config/riscv/riscv.md (zero_extendsidi2, zero_extendhi<GPR:mode>2,
extend<SHORT:mode><SUPERQI:mode>2): Don't split if
paradoxical_subreg_p (operands[0]).
(*lshrsi3_zero_extend_3+1, *lshrsi3_zero_extend_3+2): Add clobber and
use as intermediate value.
gcc/testsuite/
PR target/91635
* gcc.c-torture/execute/pr91635.c: New test.
* gcc.target/riscv/shift-shift-4.c: New test.
* gcc.target/riscv/shift-shift-5.c: New test.
Co-Authored-By: Jim Wilson <jimw@sifive.com>
From-SVN: r275444
2019-09-05 13:32:55 -07:00
Harald Anlauf
3c0f026505
re PR fortran/91496 (!GCC$ directives error if mistyped or unknown)
...
2019-09-05 Harald Anlauf <anlauf@gmx.de>
PR fortran/91496
* parse.c (parse_executable): Improve error messages for
improperly placed pragmas not preceeding a loop.
PR fortran/91496
* gfortran.dg/directive_unroll_5.f90: Adjust error message.
From-SVN: r275442
2019-09-05 20:13:00 +00:00
Steven G. Kargl
0e521c6461
re PR fortran/91660 (Missing error on invalid type declaration)
...
2019-09-05 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91660
* decl.c (gfc_match_decl_type_spec): Improve and restore error
message for malformed types-spec.
2019-09-05 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91660
* gfortran.dg/pdt_4.f03: Fix invalid code.
* gfortran.dg/pr91660_1.f90: New test.
* gfortran.dg/pr91660_2.f90: Ditto.
From-SVN: r275426
2019-09-05 18:14:34 +00:00
Marek Polacek
bb64bef659
PR c++/91644 - ICE with constinit in function template.
...
* decl.c (start_decl): Call retrofit_lang_decl for constinit variables.
* pt.c (tsubst_expr): Pass LOOKUP_CONSTINIT down to cp_finish_decl for
constinit variables.
* g++.dg/cpp2a/constinit13.C: New test.
From-SVN: r275421
2019-09-05 15:37:52 +00:00
Andrew Stubbs
b2c113aed6
Global GCN instructions need nops too.
...
2019-09-05 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/gcn/gcn.md (*movti_insn): Set delayeduse for global_store.
(sync_compare_and_swap<mode>_insn): Likewise.
From-SVN: r275414
2019-09-05 14:21:28 +00:00
Jonathan Wakely
b5c433ce11
Improve precondition checks for std::span
...
* doc/xml/manual/status_cxx2020.xml: Update status for P0122R7 and
P1024R3. Remove entry for P0920R2.
* include/std/span (__cpp_lib_span): Change value.
(__extent_storage, __extent_storage<dynamic_extent>): Remove default
constructor.
(span): Replace __extent_storage base class with data member.
(span::_S_subspan_extent): New function.
(span::empty()): Add nodiscard attribute.
(span::front, span::back, span::operator[]): Check preconditions.
(span::first, span::last, span::subspan): Add noexcept. Improve
precondition checks (LWG 3103).
(get): Remove redundant condition from static_assert.
(tuple_element<I, span<T, E>>): Fix static_assert message and simplify.
(as_writable_bytes): Add inline specifier.
* include/std/version (__cpp_lib_span): Change value.
* testsuite/23_containers/span/back_neg.cc: Remove stray semi-colon.
* testsuite/23_containers/span/front_neg.cc: Likewise.
* testsuite/23_containers/span/index_op_neg.cc: Likewise.
* testsuite/23_containers/span/last_neg.cc: Improve test.
* testsuite/23_containers/span/subspan_neg.cc: Likewise.
* testsuite/23_containers/span/1.cc: New test.
* testsuite/23_containers/span/2.cc: New test.
* testsuite/23_containers/span/back_assert_neg.cc: New test.
* testsuite/23_containers/span/first_2_assert_neg.cc: New test.
* testsuite/23_containers/span/first_assert_neg.cc: New test.
* testsuite/23_containers/span/first_neg.cc: New test.
* testsuite/23_containers/span/front_assert_neg.cc: New test.
* testsuite/23_containers/span/index_op_assert_neg.cc: New test.
* testsuite/23_containers/span/last_2_assert_neg.cc: New test.
* testsuite/23_containers/span/last_assert_neg.cc: New test.
* testsuite/23_containers/span/subspan_2_assert_neg.cc: New test.
* testsuite/23_containers/span/subspan_3_assert_neg.cc: New test.
* testsuite/23_containers/span/subspan_4_assert_neg.cc: New test.
* testsuite/23_containers/span/subspan_5_assert_neg.cc: New test.
* testsuite/23_containers/span/subspan_6_assert_neg.cc: New test.
* testsuite/23_containers/span/subspan_assert_neg.cc: New test.
From-SVN: r275411
2019-09-05 14:48:33 +01:00
Bernd Edlinger
55e8f926f2
re PR target/91615 ([armeb] ICEs since r274986)
...
2019-09-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR middle-end/91615
* expr.c (expand_expr_real_1): Handle misaligned TARGET_MEM_REF
without movmisalign optab.
From-SVN: r275409
2019-09-05 13:40:17 +00:00
Jakub Jelinek
728347922a
re PR middle-end/91001 (internal compiler error: in extract_insn, at recog.c:2310)
...
PR middle-end/91001
PR middle-end/91105
PR middle-end/91106
* calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR
types, use type of their first field instead of type of
args[i].tree_value.
* gcc.c-torture/compile/pr91001.c: New test.
From-SVN: r275408
2019-09-05 15:30:23 +02:00