Re: [PATCH] musl: use correct long double abi by default

2019-11-17 Thread Andreas Krebbel
On 15.11.19 19:58, Szabolcs Nagy wrote: > On 15/11/2019 18:15, Segher Boessenkool wrote: >> On Fri, Nov 15, 2019 at 06:03:25PM +, Szabolcs Nagy wrote: >>> i'm fine with that, it means the --with-long-double-128 >>> switch does not work on *-musl, >> >> I thought that is what you wanted to do.

Re: [PATCH] s390: add musl support

2019-11-17 Thread Andreas Krebbel
On 15.11.19 18:23, Szabolcs Nagy wrote: > Add the musl dynamic linker names. > > Build tested on s390x-linux-musl and s390x-linux-gnu. > > gcc/ChangeLog: > > 2019-11-15 Szabolcs Nagy > > * config/s390/linux.h (MUSL_DYNAMIC_LINKER32): Define. > (MUSL_DYNAMIC_LINKER64): Define. >

GCC 10.0 Status Report (2019-11-18), Stage 3 in effect now

2019-11-17 Thread Richard Biener
Status == Stage 1 ended, GCC trunk is open for general bugfixing, stage 3. Quality Data Priority # Change from last report --- --- P16 P2 201 - 3 P3 129 + 113 P4 151

Re: [PATCH] Split X86_TUNE_AVX128_OPTIMAL into X86_TUNE_AVX256_SPLIT_REGS and X86_TUNE_AVX128_OPTIMAL

2019-11-17 Thread Hongtao Liu
On Sat, Nov 16, 2019 at 7:27 AM Jeff Law wrote: > > On 11/14/19 5:21 AM, Richard Biener wrote: > > On Tue, Nov 12, 2019 at 11:35 AM Hongtao Liu wrote: > >> > >> Hi: > >> As mentioned in https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00832.html > >>> So yes, it's poorly named. A preparatory patc

[PATCH v2] Add `--with-install-sysroot=' configuration option

2019-11-17 Thread Maciej W. Rozycki
Provide means, in the form of a `--with-install-sysroot=' configuration option, to override the default installation directory for target libraries, otherwise known as $toolexeclibdir. This is so that it is possible to get newly-built libraries, particularly the shared ones, installed in a com

Re: Add a new combine pass

2019-11-17 Thread Andrew Pinski
On Sun, Nov 17, 2019 at 3:35 PM Richard Sandiford wrote: > > (It's 23:35 local time, so it's still just about stage 1. :-)) > > While working on SVE, I've noticed several cases in which we fail > to combine instructions because the combined form would need to be > placed earlier in the instruction

[committed, obvious] libgomp: Regenerate `testsuite/Makefile.in' for GCC_HEADER_STDINT removal

2019-11-17 Thread Maciej W. Rozycki
Commit r276389 ("configure.ac: Remove GCC_HEADER_STDINT(gstdint.h)") has not regenerated `testsuite/Makefile.in'. Fix it. libgomp/ * testsuite/Makefile.in: Regenerate. --- libgomp/testsuite/Makefile.in |1 - 1 file changed, 1 deletion(-) gcc-libgomp-am-regenerate.diff Index

[committed, obvious] libgfortran: Regenerate `Makefile.in' for `runstatedir' removal

2019-11-17 Thread Maciej W. Rozycki
A change made with r271340 ("libfortran/90038: Use posix_spawn instead of fork") accidentally brought the obsolete `runstatedir' setting back in. Fix it. libgfortran/ * Makefile.in: Regenerate. --- libgfortran/Makefile.in |1 - 1 file changed, 1 deletion(-) gcc-libgfortran

Add a new combine pass

2019-11-17 Thread Richard Sandiford
(It's 23:35 local time, so it's still just about stage 1. :-)) While working on SVE, I've noticed several cases in which we fail to combine instructions because the combined form would need to be placed earlier in the instruction stream than the last of the instructions being combined. This inclu

Re: [PATCH v3] PR85678: Change default to -fno-common

2019-11-17 Thread Jeff Law
On 11/5/19 10:17 AM, Wilco Dijkstra wrote: > Hi Richard, > >> Please investigate those - C++ has -fno-common already so it might be a mix >> of C/C++ required here.  Note that secondary files can use dg-options >> with the same behavior as dg-additional-options (they append to >> dg-lto-options),

Re: [PATCH] naming GCC's profile data section

2019-11-17 Thread Jeff Law
On 10/24/19 11:58 AM, David Taylor wrote: > Our application is embedded. And in addition to cold boot (reload > everything; start over from scratch), we support warm boot. As part of > supporting warm boot, read-write data that needs to be initialized, is > initialized by code. And we ensure at

[committed] Fix linux-atomic.c build on hppa-linux

2019-11-17 Thread John David Anglin
This patch fixes the build of linux-atomic.c. Pointer operands are changed to volatile void * and value operands are changed to unsigned. The release functions are changed to use the kernel cmpxchg support. Tested on hppa-unknown-linux-gnu. Committed to all active branches. Dave -- 2019-11-1

Re: [PATCH][Hashtable 5/6] Remove H1/H2 template parameters

2019-11-17 Thread Ville Voutilainen
On Sun, 17 Nov 2019 at 23:15, François Dumont wrote: > > H1 used to be a reference to the user Hash, now _Hashtable and unordered > types agree on the same Hash type which is more intuitive. > > I also chose to not support anymore a stateful ranged hash functor. We > only use _Mod_range_hashing an

[PATCH][Hashtable 6/6] PR 68303 small size optimization

2019-11-17 Thread François Dumont
This is an implementation of PR 68303. I try to use this idea as much as possible to avoid computation of hash codes. Note that tests are not showing any gain. I guess hash computation must be quite bad to get a benefit from it. So I am only activating it when hash code is not cached and/or

[PATCH][Hashtable 5/6] Remove H1/H2 template parameters

2019-11-17 Thread François Dumont
H1 used to be a reference to the user Hash, now _Hashtable and unordered types agree on the same Hash type which is more intuitive. I also chose to not support anymore a stateful ranged hash functor. We only use _Mod_range_hashing and _Mask_range_hashing. Thanks to this simplification _M_buck

[PATCH][Hashtable 4/6] Clean local_iterator implementation

2019-11-17 Thread François Dumont
Simplify local_iterator implementation. It makes local_iterator and iterator comparable which is used in debug containers.     * include/bits/hashtable_policy.h (_Node_iterator_base()): New.     (operator==(const _Node_iterator_base&, const _Node_iterator_base&)):     Make hidden friend.     (op

Re: LRA: handle memory constraints that accept more than "m"

2019-11-17 Thread Jeff Law
On 11/8/19 2:03 AM, Richard Sandiford wrote: > LRA allows address constraints that are more relaxed than "p": > > /* Target hooks sometimes don't treat extra-constraint addresses as > legitimate address_operands, so handle them specially. */ > if (insn_extra_address_constraint (cn) >

Re: [PATCH 4/4] MSP430: Deprecate -minrt option

2019-11-17 Thread Jeff Law
On 11/7/19 2:41 PM, Jozef Lawrynowicz wrote: > Support for the MSP430 -minrt option has been removed from Newlib, since all > the > associated behaviour is now dynamic. Initialization code run before main is > only > included when needed. > > This patch removes the final traces of -minrt from GC

[PATCH][Hashtable 3/6] Fix noexcept qualifications

2019-11-17 Thread François Dumont
This patch adds noexcept qualification on allocator aware constructors and fix the one on the default constructor.     * include/bits/hashtable.h     (_Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a, true_type)):     Add noexcept qualification.     (_Hashtable(_Hashtable&&)): Fix noexcept

[PATCH][Hashtable 2/6] Avoid over-sizing container

2019-11-17 Thread François Dumont
This patch avoids over-sizing of the container by rather considering the bucket count hint or potential reservation. It concerns only the non-multi containers.     * include/bits/hashtable.h     (_Hashtable<>(_InputIterator, _InputIterator, size_t, const _H1&,     const _H2&, const _Hash&, cons

[PATCH][Hashtable 1/6] Code simplification/optimization

2019-11-17 Thread François Dumont
This patch simplifies a number of implementations. It tries as much as possible to avoid computing hash code. This is especially true for the erase implementation in case of multi keys.     * include/bits/hashtable_policy.h (_Map_base<>::at): Use     _Hashtable<>::find. (_Hashtable_base<>::_E

[PATCH][Hashtable 0/6] Code review

2019-11-17 Thread François Dumont
This is the begining of a patch series for _Hashtable Initial patch to clarify code. I was tired to see true/false or true_type/false_type without knowing what was true/false. I also made code more consistent by chosing to specialize methods through usage of __unique_keys_t/__multi_keys_t rat

Re: [PATCH] musl: Don't use gthr weak refs in libgcc PR91737

2019-11-17 Thread Rich Felker
On Sun, Nov 17, 2019 at 11:31:02AM -0700, Jeff Law wrote: > On 11/15/19 3:00 AM, Szabolcs Nagy wrote: > > The gthr weak reference based single thread detection is unsafe with > > static linking and in case of dynamic linking it's ineffective on musl > > since pthread symbols are defined in libc.so.

Re: [PATCH 0/4] Eliminate cc0 from m68k

2019-11-17 Thread Mikael Pettersson
On Sun, Nov 17, 2019 at 5:57 PM Andreas Schwab wrote: > > On Nov 17 2019, Mikael Pettersson wrote: > > > /tmp/ccJA1qws.s:4828: Error: operands mismatch -- statement `seq %a1' > > ignored > > /tmp/ccJA1qws.s:7344: Error: operands mismatch -- statement `seq %a1' > > ignored > > That should fix it:

Re: [Patch, Fortran] dec comparisons - for review

2019-11-17 Thread Thomas Koenig
Hi Steve, On Fri, Nov 15, 2019 at 10:40:56AM +, Mark Eggleston wrote: This patch allows comparison of numeric values with Holleriths. This feature is not guarded by a compiler option as it is preferred that extra options should avoided, this seems reasonable as current Hollerith support doe

Re: [PATCH 1/4] MSP430: Disable TM clone registry by default

2019-11-17 Thread Jeff Law
On 11/7/19 2:34 PM, Jozef Lawrynowicz wrote: > Given that MSP430 is a resource constrained, embedded target disabling > transactional memory by default is a good idea to save on code size in > the runtime library. > > It can still be enabled by passing --enable-tm-clone-registry (although as far >

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-17 Thread Jeff Law
On 11/12/19 1:16 AM, Richard Biener wrote: > On Tue, Nov 12, 2019 at 9:15 AM Richard Biener > wrote: >> >> On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: >>> >>> On 11/6/19 3:34 PM, Martin Sebor wrote: On 11/6/19 2:06 PM, Martin Sebor wrote: > On 11/6/19 1:39 PM, Jeff Law wrote: >>

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-17 Thread Jeff Law
On 11/12/19 12:55 PM, Martin Sebor wrote: > On 11/12/19 10:54 AM, Jeff Law wrote: >> On 11/12/19 1:15 AM, Richard Biener wrote: >>> On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: On 11/6/19 3:34 PM, Martin Sebor wrote: > On 11/6/19 2:06 PM, Martin Sebor wrote: >> On 11/6/19 1:39

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-17 Thread Jeff Law
On 11/13/19 7:34 AM, Richard Biener wrote: > On Tue, Nov 12, 2019 at 6:55 PM Jeff Law wrote: >> >> On 11/12/19 1:15 AM, Richard Biener wrote: >>> On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: On 11/6/19 3:34 PM, Martin Sebor wrote: > On 11/6/19 2:06 PM, Martin Sebor wrote: >>

Re: Set inline-insns-single-O2 to 70

2019-11-17 Thread Jeff Law
On 11/14/19 5:38 AM, Jan Hubicka wrote: > Hi, > this patch bumps inline-insns-single-O2 from 30 to 70. I originally reduced > it from 120 to 50 when forking the -O2 and -O3 parameters which has > quite significant code size benefits. > > This parameter controls how large functions user declared i

[Patch, fortran] PR83118 - [8/9/10 Regression] Bad intrinsic assignment of class(*) array component of derived type

2019-11-17 Thread Paul Richard Thomas
This is a somewhat delayed patch to fix issues with the original patch, as flagged up by Rainer in comment #12, Rainer in comment #14 and Eric in comment #15. The fix for these problems was posted in April in comment #17. It was thoroughly tested but remained uncommitted because my attention was el

Re: [mid-end][__RTL] Clean state despite unspecified __RTL startwith passes

2019-11-17 Thread Jeff Law
On 11/14/19 11:22 AM, Matthew Malcomson wrote: > Hi there, > > When compiling an __RTL function that has an unspecified "startwith" > pass we currently don't run the cleanup pass, this means that we ICE on > the next function (if it's a basic function). > I asked about this on the GCC mailing list

Re: [PATCH] musl: Don't use gthr weak refs in libgcc PR91737

2019-11-17 Thread Jeff Law
On 11/15/19 3:00 AM, Szabolcs Nagy wrote: > The gthr weak reference based single thread detection is unsafe with > static linking and in case of dynamic linking it's ineffective on musl > since pthread symbols are defined in libc.so. > > Ideally this should be fixed for all targets, since glibc pl

Re: [Patch, Fortran] dec comparisons - for review

2019-11-17 Thread Jeff Law
On 11/15/19 3:40 AM, Mark Eggleston wrote: > This patch allows comparison of numeric values with Holleriths. This > feature is not guarded by a compiler option as it is preferred that > extra options should avoided, this seems reasonable as current Hollerith > support does not have such an option.

Re: [PATCH 1/4] Preliminary m68k patches

2019-11-17 Thread Jeff Law
On 11/14/19 5:23 AM, Bernd Schmidt wrote: > On 11/13/19 9:03 PM, Jeff Law wrote: >> OK. I'd actually recommend this go ahead and get installed. My tester >> will bootstrap it overnight. > > Alright, let me know how that turns out. What kind of machine do you > have for that? Sorry I should have

Re: [PATCH 0/4] Eliminate cc0 from m68k

2019-11-17 Thread Jeff Law
On 11/17/19 9:57 AM, Andreas Schwab wrote: > On Nov 17 2019, Mikael Pettersson wrote: > >> /tmp/ccJA1qws.s:4828: Error: operands mismatch -- statement `seq %a1' ignored >> /tmp/ccJA1qws.s:7344: Error: operands mismatch -- statement `seq %a1' ignored > > That should fix it: > > diff --git a/gcc/c

Re: [PATCH 2/4] The main m68k cc0 conversion

2019-11-17 Thread Jeff Law
On 11/13/19 6:23 AM, Bernd Schmidt wrote: > Once more with patch. > > > Bernd > > > m68k-2.diff > > PR target/91851 > * config/m68k/m68k-protos.h (output-dbcc_and_branch): Adjust > declaration. > (m68k_init_cc): New declaration. > (m6

Re: Add optabs for accelerating RAW and WAR alias checks

2019-11-17 Thread Jeff Law
On 11/16/19 8:39 AM, Richard Sandiford wrote: > This patch adds optabs that check whether a read followed by a write > or a write followed by a read can be divided into interleaved byte > accesses without changing the dependencies between the bytes. > This is one of the uses of the SVE2 WHILERW and

Re: Handle VIEW_CONVERT_EXPR for variable-length vectors

2019-11-17 Thread Jeff Law
On 11/16/19 6:38 AM, Richard Sandiford wrote: > This patch handles VIEW_CONVERT_EXPRs of variable-length VECTOR_CSTs > by adding tree-level versions of native_decode_vector_rtx and > simplify_const_vector_subreg. It uses the same code for fixed-length > vectors, both to get more coverage and becau

Re: Two RTL CC tweaks for SVE pmore/plast conditions

2019-11-17 Thread Jeff Law
On 11/16/19 6:42 AM, Richard Sandiford wrote: > SVE has two composite conditions: > > pmore == at least one bit set && last bit clear > plast == no bits set || last bit set > > So in general we generate them from: > > A: CC = test bits > B: reg1 = first condition > C: CC = test bits >

Re: [PATCH 0/4] Eliminate cc0 from m68k

2019-11-17 Thread Andreas Schwab
On Nov 17 2019, Mikael Pettersson wrote: > /tmp/ccJA1qws.s:4828: Error: operands mismatch -- statement `seq %a1' ignored > /tmp/ccJA1qws.s:7344: Error: operands mismatch -- statement `seq %a1' ignored That should fix it: diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 0cf063

Re: [C++ coroutines 2/6] Define builtins and internal functions.

2019-11-17 Thread Jeff Law
On 11/17/19 3:24 AM, Iain Sandoe wrote: > > This part of the patch series provides the builtin functions > used by the standard library code and the internal functions > used to implement lowering of the coroutine state machine. > > gcc/ChangeLog: > > 2019-11-17 Iain Sandoe > > * built

[committed] Fix complex-6 for rx target

2019-11-17 Thread Jeff Law
Jakub's recent changes to fix 92449 regresses complex-6 on the rx port because it defaults to !HONOR_NANs which compromises this test. ISTM the best thing to do is just avoid the two dump scans for the rx target. I haven't seen another port trip over this so I didn't create an effective-target t

Re: [C++ coroutines 5/6] Standard library header.

2019-11-17 Thread Jonathan Wakely
On 17/11/19 10:27 +, Iain Sandoe wrote: This provides the interfaces mandated by the standard and implements the interaction with the coroutine frame by means of inline use of builtins expanded at compile-time. There should be a 1:1 correspondence with the standard sections which are cross-r

Re: [PATCH 0/4] Eliminate cc0 from m68k

2019-11-17 Thread Mikael Pettersson
On Wed, 13 Nov 2019 14:04:59 +0100, Bernd Schmidt wrote: > This is a set of patches to convert m68k so that it no longer uses cc0. Thank you for doing this. I attempted a native bootstrap of gcc-10-20191110 (r278028) plus the five patches posted so far on m68k-linux (aranym), but it failed in st

Re: [C++ coroutines 1/6] Common code and base definitions.

2019-11-17 Thread Jeff Law
On 11/17/19 3:24 AM, Iain Sandoe wrote: > This part of the patch series provides the gating flag, the keywords, > cpp defines etc. > > gcc/ChangeLog: > > 2019-11-17 Iain Sandoe > > * doc/invoke.texi: Document the fcoroutines command line > switch. > > gcc/c-family/ChangeLog: > >

[C++ coroutines 5/6] Standard library header.

2019-11-17 Thread Iain Sandoe
This provides the interfaces mandated by the standard and implements the interaction with the coroutine frame by means of inline use of builtins expanded at compile-time. There should be a 1:1 correspondence with the standard sections which are cross-referenced. There is no runtime content. At t

[C++ coroutines 4/6] Middle end expanders and transforms.

2019-11-17 Thread Iain Sandoe
As described in the covering note, the main part of this is the expansion of the library support builtins, these are simple boolean or numerical substitutions. The functionality of implementing an exit from scope without cleanup is performed here by lowering an IFN to a gimple goto. The final p

[C++ coroutines 3/6] Front end parsing and transforms.

2019-11-17 Thread Iain Sandoe
As described in the covering note, there are two parts to this. 1. Parsing, template instantiation and diagnostics for the standard- mandated class entries. The user authors a function that becomes a coroutine (lazily) by making use of any of the co_await, co_yield or co_return keywords.

[C++ coroutines 2/6] Define builtins and internal functions.

2019-11-17 Thread Iain Sandoe
This part of the patch series provides the builtin functions used by the standard library code and the internal functions used to implement lowering of the coroutine state machine. gcc/ChangeLog: 2019-11-17 Iain Sandoe * builtin-types.def (BT_FN_BOOL_PTR): New. (BT_FN_PTR_PT

[C++ coroutines 1/6] Common code and base definitions.

2019-11-17 Thread Iain Sandoe
This part of the patch series provides the gating flag, the keywords, cpp defines etc. gcc/ChangeLog: 2019-11-17 Iain Sandoe * doc/invoke.texi: Document the fcoroutines command line switch. gcc/c-family/ChangeLog: 2019-11-17 Iain Sandoe * c-common.c (co_await, co

[C++ coroutines 0/6] Implement C++ coroutines.

2019-11-17 Thread Iain Sandoe
This patch series is an initial implementation of a coroutine feature, expected to be standardised in C++20. Standardisation status (and potential impact on this implementation): -- The facility was accepted into the working draft for C++20 by WG21 in February 2019. During