Re: Move thunks out of cgraph_node

2020-10-23 Thread mliska
On 2020-10-23 21:45, Jan Hubicka wrote: Hi, this patch moves thunk_info out of cgraph_node into a symbol summary. I also moved it to separate hearder file since cgraph.h became really too fat. I plan to contiue with similar breakup in order to cleanup interfaces and reduce WPA memory footprint

Re: [PATCH v7] genemit.c (main): split insn-emit.c for compiling parallelly

2020-10-23 Thread Jojo R
Hi, Has this patch been merged ? I track this some weeks and the patch has reviewed still on the way ... Could someone help me ? Thanks so much. Jojo 在 2020年10月8日 +0800 AM10:01,Jojo R ,写道: > Ping …... > > Jojo > 在 2020年9月27日 +0800 AM10:34,Jojo R ,写道: > > Hi, > >

Re: [RS6000] VSX_MM_SUFFIX

2020-10-23 Thread Alan Modra via Gcc-patches
On Fri, Oct 23, 2020 at 04:06:57PM -0500, Segher Boessenkool wrote: > On Fri, Oct 23, 2020 at 09:41:30AM +1030, Alan Modra wrote: > > On Thu, Oct 22, 2020 at 11:03:14AM -0500, Segher Boessenkool wrote: > > > On Thu, Oct 22, 2020 at 08:58:10AM -0700, Carl Love wrote: > > > > OK, looks like VSX_MM_SU

Re: [RS6000] altivec style lvx/stvx addresses vs power10

2020-10-23 Thread Alan Modra via Gcc-patches
Hi Segher, On Fri, Oct 23, 2020 at 11:31:02AM -0500, Segher Boessenkool wrote: > On Fri, Oct 23, 2020 at 05:15:08PM +1030, Alan Modra wrote: > > The problem starts with fwprop creating > > (insn 9 4 0 2 (set (mem:V8HI (and:DI (plus:DI (reg/v/f:DI 121 [ vpp ]) > > (const_int 12

[PATCH] rs6000, Add bcd builtings listed in appendix B of the ABI

2020-10-23 Thread Carl Love via Gcc-patches
Gcc maintainers: The following patch adds support for the built-ins listed in Table B.1, "Binary-Coded Decimal Built-In Functions" of the "64-Bit ELF V2 ABI Specification", July 30, 2019. The built-ins adds support the V16QI type for addition, subtraction and comparison as sepcified in the Tabl

Re: [PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

2020-10-23 Thread Jason Merrill via Gcc-patches
On 10/23/20 8:03 PM, Ville Voutilainen wrote: On Sat, 24 Oct 2020 at 03:00, Marek Polacek wrote: + tree expr; + expr = is_xible_helper (code, to, from, /*trivial*/false); tree expr = is_xible_helper (code, to, from, /*trivial*/false); would be nicer, otherwise the front-end changes look

Re: [PATCH v2] c++: Fix verify_ctor_sanity ICE [PR96241]

2020-10-23 Thread Jason Merrill via Gcc-patches
On 10/23/20 8:06 PM, Marek Polacek wrote: On Thu, Oct 22, 2020 at 05:37:06PM -0400, Jason Merrill via Gcc-patches wrote: On 10/15/20 6:18 PM, Marek Polacek wrote: The code added in r10-6437 caused us to create a CONSTRUCTOR when we're {}-initializing an aggregate. Then we pass this new CONSTRU

Re: [PATCH] c++: Implement -Wvexing-parse [PR25814]

2020-10-23 Thread Jason Merrill via Gcc-patches
On 10/23/20 3:01 PM, Marek Polacek wrote: This patch implements the -Wvexing-parse warning to warn about the sneaky most vexing parse rule in C++: the cases when a declaration looks like a variable definition, but the C++ language requires it to be interpreted as a function declaration. This war

Re: [PATCH 2/8] [RS6000] rs6000_rtx_costs for AND

2020-10-23 Thread Alan Modra via Gcc-patches
On Fri, Oct 23, 2020 at 07:18:44PM -0400, Hans-Peter Nilsson wrote: > On Thu, 22 Oct 2020, Alan Modra via Gcc-patches wrote: > > /* (reg) is costed at zero by rtlanal.c:rtx_cost. That sets a > > baseline for rtx costs: If a constant is valid in an insn, > > it is free. */ > > >F

Re: [RS6000] Adjust testcases for power10 instructions

2020-10-23 Thread Alan Modra via Gcc-patches
On Fri, Oct 23, 2020 at 01:22:31PM -0500, Segher Boessenkool wrote: > On Fri, Oct 23, 2020 at 04:45:29PM +1030, Alan Modra wrote: > > Revised patch, removing changes to > > gcc.target/powerpc/fold-vec-st-double.c, > > gcc.target/powerpc/fold-vec-st-longlong.c, > > gcc.target/powerpc/fold-vec-st-pix

[PATCH] [tree-optimization] Fix for PR97223

2020-10-23 Thread Eugene Rozenfeld via Gcc-patches
This patch adds a pattern for folding x < (short) ((unsigned short)x + const) to x <= SHORT_MAX - const (and similarly for other integral types) if const is not 0. as described in PR97223. For example, without this patch the x86_64-pc-linux code generated for this functi

Re: [PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

2020-10-23 Thread Ville Voutilainen via Gcc-patches
On Sat, 24 Oct 2020 at 03:07, Marek Polacek wrote: > > Ha, we have the same thing in is_trivially_xible, so I'll drive-by > > change that one as well. > > Please. Thanks! The tree is also on a separated line in is_trivially_xible and is_nothrow_xible, but not in is_xible. What do we think about

Re: [PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

2020-10-23 Thread Marek Polacek via Gcc-patches
On Sat, Oct 24, 2020 at 03:03:51AM +0300, Ville Voutilainen via Gcc-patches wrote: > On Sat, 24 Oct 2020 at 03:00, Marek Polacek wrote: > > > + tree expr; > > > + expr = is_xible_helper (code, to, from, /*trivial*/false); > > > > tree expr = is_xible_helper (code, to, from, /*trivial*/false);

Re: [PATCH v2] c++: Fix verify_ctor_sanity ICE [PR96241]

2020-10-23 Thread Marek Polacek via Gcc-patches
On Thu, Oct 22, 2020 at 05:37:06PM -0400, Jason Merrill via Gcc-patches wrote: > On 10/15/20 6:18 PM, Marek Polacek wrote: > > The code added in r10-6437 caused us to create a CONSTRUCTOR when we're > > {}-initializing an aggregate. Then we pass this new CONSTRUCTOR down to > > cxx_eval_constant_e

Re: [PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

2020-10-23 Thread Ville Voutilainen via Gcc-patches
On Sat, 24 Oct 2020 at 03:00, Marek Polacek wrote: > > + tree expr; > > + expr = is_xible_helper (code, to, from, /*trivial*/false); > > tree expr = is_xible_helper (code, to, from, /*trivial*/false); > > would be nicer, otherwise the front-end changes look fine, thanks. Ha, we have the same

Re: [PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

2020-10-23 Thread Marek Polacek via Gcc-patches
On Sat, Oct 24, 2020 at 02:32:37AM +0300, Ville Voutilainen via Gcc-patches wrote: > Finishing testing on Linux-PPC64. Ok for trunk if tests pass? > > 2020-10-24 Ville Voutilainen > > gcc/c-family/ChangeLog: > > Implement __is_nothrow_{constructible,assignable} > * c-common.c (__

libgo patch committed: Merge upstream net/http/cgi changes

2020-10-23 Thread Ian Lance Taylor via Gcc-patches
This libgo patch by Nikhil Benesch updates the net/http/cgi package to incorporate upstream modifications to the cgi package's set of rules about which environment variables should be inherited by child processes by default on each platform. In particular this permits tests to pass on NetBSD by pr

Re: [PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

2020-10-23 Thread Ville Voutilainen via Gcc-patches
On Sat, 24 Oct 2020 at 02:32, Ville Voutilainen wrote: > * method.c (__is_nothrow_xible): New. ..and this is is_nothrow_xible, without leading underscores.

[PATCH] g++, libstdc++: implement __is_nothrow_{constructible, assignable}

2020-10-23 Thread Ville Voutilainen via Gcc-patches
Finishing testing on Linux-PPC64. Ok for trunk if tests pass? 2020-10-24 Ville Voutilainen gcc/c-family/ChangeLog: Implement __is_nothrow_{constructible,assignable} * c-common.c (__is_nothrow_assignable): New. (__is_nothrow_constructible): Likewise. * c-common.h (RID_IS_NO

Re: [r11-4328 Regression] FAIL: g++.dg/warn/Wsizeof-array-div2.C -std=gnu++98 (test for warnings, line 11) on Linux/x86_64

2020-10-23 Thread Marek Polacek via Gcc-patches
On Fri, Oct 23, 2020 at 04:14:20PM -0700, sunil.k.pandey via Gcc-patches wrote: > On Linux/x86_64, > > 83f83ddfe0fe41c9b553850d4ababd5089df8332 is the first bad commit > commit 83f83ddfe0fe41c9b553850d4ababd5089df8332 > Author: Marek Polacek > Date: Fri Sep 11 16:19:08 2020 -0400 > > c, c+

Re: [PATCH 2/8] [RS6000] rs6000_rtx_costs for AND

2020-10-23 Thread Hans-Peter Nilsson
On Thu, 22 Oct 2020, Alan Modra via Gcc-patches wrote: Hi! > On Wed, Oct 21, 2020 at 03:29:11PM -0500, Segher Boessenkool wrote: > > Anyway: > > > > + || (outer_code == AND > > + && rs6000_is_valid_2insn_and (x, mode))) > > { > > *total = COSTS_N_IN

[r11-4328 Regression] FAIL: g++.dg/warn/Wsizeof-array-div2.C -std=gnu++98 (test for warnings, line 11) on Linux/x86_64

2020-10-23 Thread sunil.k.pandey via Gcc-patches
On Linux/x86_64, 83f83ddfe0fe41c9b553850d4ababd5089df8332 is the first bad commit commit 83f83ddfe0fe41c9b553850d4ababd5089df8332 Author: Marek Polacek Date: Fri Sep 11 16:19:08 2020 -0400 c, c++: Implement -Wsizeof-array-div [PR91741] caused FAIL: c-c++-common/Wsizeof-array-div1.c -std

[PATCH] rs6000, Power 10 testsuite fixes

2020-10-23 Thread Carl Love via Gcc-patches
GCC maintainers: The following patch fixes a few issues with the tests. The DEBUG is defined in each of the files thus the #ifdef DEBUG should just be #if DEBUG. The other issue is a some of the line lengths for the error prints exceed 80 characters. The patch fixes the prints. The patch was c

Re: [RS6000] VSX_MM_SUFFIX

2020-10-23 Thread Segher Boessenkool
On Fri, Oct 23, 2020 at 09:41:30AM +1030, Alan Modra wrote: > On Thu, Oct 22, 2020 at 11:03:14AM -0500, Segher Boessenkool wrote: > > On Thu, Oct 22, 2020 at 08:58:10AM -0700, Carl Love wrote: > > > OK, looks like VSX_MM_SUFFIX doesn't exist anymore. Don't know what > > > happed to it. Thanks. >

Move thunks out of cgraph_node

2020-10-23 Thread Jan Hubicka
Hi, this patch moves thunk_info out of cgraph_node into a symbol summary. I also moved it to separate hearder file since cgraph.h became really too fat. I plan to contiue with similar breakup in order to cleanup interfaces and reduce WPA memory footprint (symbol table now consumes more memory than

Re: Materialize clones on demand

2020-10-23 Thread Jan Hubicka
> Hi, > > On Thu, Oct 22 2020, Jan Hubicka wrote: > > Hi, > > this patch removes the pass to materialize all clones and instead this > > is now done on demand. The motivation is to reduce lifetime of function > > bodies in ltrans that should noticeably reduce memory use for highly > > parallel co

[PATCH] c++: Implement -Wvexing-parse [PR25814]

2020-10-23 Thread Marek Polacek via Gcc-patches
This patch implements the -Wvexing-parse warning to warn about the sneaky most vexing parse rule in C++: the cases when a declaration looks like a variable definition, but the C++ language requires it to be interpreted as a function declaration. This warning is on by default (like clang++). From

[committed] handle [static] VLAs (PR 97552)

2020-10-23 Thread Martin Sebor via Gcc-patches
The attached tweak enables the -Wvla-parameter warning to also recognize the [static] notation for VLAs, the same way it does ordinary arrays. Tested on x86_64-linux and pushed as obvious. Martin commit 757ba6653c2699761c2243e0194749a6695112d8 Author: Martin Sebor Date: Fri Oct 23 12:37:38 202

[committed] handle invalid input even earlier (PR 97463)

2020-10-23 Thread Martin Sebor via Gcc-patches
To avoid yet another ICE caused by dereferencing a null tree due to invalid input, the attached change moves the handling even earlier in the affected function. Tested on x86_64-linux and pushed as obvious (at least until the next ICE shows up that necessitates to move the test earlier still). M

Re: [RS6000] Adjust testcases for power10 instructions

2020-10-23 Thread Segher Boessenkool
On Fri, Oct 23, 2020 at 04:45:29PM +1030, Alan Modra wrote: > Revised patch, removing changes to > gcc.target/powerpc/fold-vec-st-double.c, > gcc.target/powerpc/fold-vec-st-longlong.c, > gcc.target/powerpc/fold-vec-st-pixel.c. Fixing fails on those three > tests will be the subject of another patc

Re: [PATCH, OpenMP 5.0] Implement structure element mapping changes in 5.0

2020-10-23 Thread Chung-Lin Tang
Hi Jakub, thanks for the prompt review. On 2020/10/23 8:13 PM, Jakub Jelinek wrote: In general, upon encountering a construct, we can't statically determine and insert alloc/release maps for each element of a structure variable, since we don't really know which region of the structure is curre

Re: [PATCH] arm: Implement vceqq_p64, vceqz_p64 and vceqzq_p64 intrinsics

2020-10-23 Thread Christophe Lyon via Gcc-patches
ping? On Fri, 16 Oct 2020 at 10:41, Christophe Lyon wrote: > > On Thu, 15 Oct 2020 at 20:10, Andrea Corallo wrote: > > > > Hi Christophe, > > > > I've spotted two very minors. > > > > Christophe Lyon via Gcc-patches writes: > > > > [...] > > > > > +/* For vceqq_p64, we rely on vceq_p64 for each

Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms

2020-10-23 Thread Eric Botcazou
> That variable doesn't exist. Bummer. Attached patch installed. -- Eric Botcazoudiff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 39b458781a8..7b5b3344af7 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -2543,7 +2543,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(t

Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms

2020-10-23 Thread Andreas Schwab
On Okt 23 2020, Eric Botcazou wrote: > diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl > index 7a0c05b423d..f91085dd404 100644 > --- a/gcc/ada/Makefile.rtl > +++ b/gcc/ada/Makefile.rtl > @@ -2533,7 +2533,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) > $(target_os))),) >T

Re: [RS6000] altivec style lvx/stvx addresses vs power10

2020-10-23 Thread Segher Boessenkool
Hi! On Fri, Oct 23, 2020 at 05:15:08PM +1030, Alan Modra wrote: > The problem starts with fwprop creating > (insn 9 4 0 2 (set (mem:V8HI (and:DI (plus:DI (reg/v/f:DI 121 [ vpp ]) > (const_int 12 [0xc])) > (const_int -16 [0xfff0])) [0 MEM int> [(void

Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms

2020-10-23 Thread Eric Botcazou
> /usr/local/gcc/gcc-20201023/gcc/ada/Makefile.rtl:2834: *** unterminated > variable reference. Stop. Sorry about that, tentatively fixed by the attached patch, installed. -- Eric Botcazoudiff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 7a0c05b423d..f91085dd404 100644 ---

[patch] vxworks: Link with the configured net lib on vxworks7

2020-10-23 Thread Olivier Hainque
The net library is configurable on vxworks7. Pick the library to include in link closures in accordance with the availability of a revealing header file, using the recently introduced if-exist-then-else spec builtin function. Tested on a mix of gcc-9 and gcc-10 based builds for Vxworks7r2, and s

Re: [RS6000] Power10 ICE running gcc.target/powerpc/ppc-ne0-1.c

2020-10-23 Thread Segher Boessenkool
On Sat, Oct 24, 2020 at 12:32:40AM +1030, Alan Modra wrote: > rs6000_emit_int_cmove generates isel so the condition below needs > fixing for power10. Bootstrapped and regression tested > powerpc64le-linux power10 and power8. OK? > > * config/rs6000/rs6000.md (cstore4): Don't call > r

[PATCH] analyzer: remove dead code

2020-10-23 Thread Martin Liška
Hey. I've noticed that when building GCC with Clang. David what do you think about it? Thanks, Martin gcc/analyzer/ChangeLog: * constraint-manager.cc (constraint_manager::merge): Remove unused code. * constraint-manager.h: Likewise. * program-state.cc (sm_state_

Grow your Clients

2020-10-23 Thread Wendy Williams
Hi, Are you keen on obtaining the Decision Makers contacts of the companies who want to migrate their CAD software or hoping to get another CAD software? This is an extraordinary chance to build your deals. It would be ideal if you let me know whether you are intrigued and I will furnish yo

[patch] vxworks: Fix overzealous gthread support inhibition for vxworks

2020-10-23 Thread Olivier Hainque
The tests for macros possibly defined in gthr.h needs to be performed after the corresponding #include. This was tested together with the previous updates to gthr-vxworks-thread.c and gthr-vxworks-cond.c and was meant to be squashed with them. Olivier 2010-10-23 Olivier Hainque libgcc

Re: [PATCH] rs6000: Fix extraneous characters in the documentation

2020-10-23 Thread Segher Boessenkool
On Wed, Aug 19, 2020 at 04:03:31PM -0300, Tulio Magno Quites Machado Filho via Gcc-patches wrote: > Replace them with a whitespace in order to avoid artifacts in the HTML > document. Pushed to trunk now. Thanks! Segher

Re: move sincos after pre (was: Re: [Ada, FYI] revamp ada.numerics.aux)

2020-10-23 Thread Richard Biener via Gcc-patches
On October 23, 2020 4:23:35 PM GMT+02:00, Alexandre Oliva wrote: >On Oct 22, 2020, Alexandre Oliva wrote: > >> On Oct 18, 2020, Alexandre Oliva wrote: >>> The option is provided by default, but there is an alternate version >>> that doesn't, that is used for vxworks targets. > >> vxworks float

[PATCH] libcpp: Update cpp_wcwidth() to Unicode 13.0.0

2020-10-23 Thread Lewis Hyatt via Gcc-patches
Hello- The attached patch updates cpp_wcwidth() (for computation of display widths needed to calculate column numbers in diagnostics) from Unicode 12 to Unicode 13. The patch was purely mechanical, following the directions in contrib/unicode/README without any unexpected hiccups. A couple question

Re: [patch] Add an if-exists-then-else spec function

2020-10-23 Thread Olivier Hainque
> On 22 Oct 2020, at 22:52, Joseph Myers wrote: > > This is OK. Great, thanks Joseph!

move sincos after pre (was: Re: [Ada,FYI] revamp ada.numerics.aux)

2020-10-23 Thread Alexandre Oliva
On Oct 22, 2020, Alexandre Oliva wrote: > On Oct 18, 2020, Alexandre Oliva wrote: >> The option is provided by default, but there is an alternate version >> that doesn't, that is used for vxworks targets. > vxworks float EFs not precise enough -> use long float > From: Alexandre Oliva > Some

[PATCH][pushed] gcov: fix reading of zero sections.

2020-10-23 Thread Martin Liška
I noticed that during coverage build of binutils. gcc/ChangeLog: * gcov.c (read_count_file): Never call gcov_sync with a negative value. Patch survives gcov.exp tests and I'm going to install it. Martin --- gcc/gcov.c | 8 1 file changed, 4 insertions(+), 4 deletions

[PATCH]AArch64 Fix overflow in memcopy expansion on aarch64.

2020-10-23 Thread Tamar Christina via Gcc-patches
Hi All, Currently the inline memcpy expansion code for AArch64 is using a signed int to hold the number of elements to copy. When you giver give it a value larger than INT_MAX it will overflow. The overflow causes the maximum number of instructions we want to expand to check to fail since this a

[RS6000] Power10 ICE running gcc.target/powerpc/ppc-ne0-1.c

2020-10-23 Thread Alan Modra via Gcc-patches
rs6000_emit_int_cmove generates isel so the condition below needs fixing for power10. Bootstrapped and regression tested powerpc64le-linux power10 and power8. OK? * config/rs6000/rs6000.md (cstore4): Don't call rs6000_emit_int_cmove for power10 when -mno-isel. diff --git a/gcc/c

Re: [PATCH] testsuite: Add noexcept(false) to throwing destructor

2020-10-23 Thread Nathan Sidwell
On 10/23/20 7:46 AM, Jonathan Wakely wrote: I think this test is intended to check this property of the C++ standard: "If a destructor directly invoked by stack unwinding exits via an exception, std::terminate is invoked." [except.throw] Since C++11 any exception escaping a destructor will call

PING^4 [PATCH] x86: Inline strncmp only with -minline-all-stringops

2020-10-23 Thread H.J. Lu via Gcc-patches
On Fri, Oct 2, 2020 at 6:23 AM Jan Hubicka wrote: > > > > > diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md > > > > index fb677e17817..f3fbed81c4a 100644 > > > > --- a/gcc/config/i386/i386.md > > > > +++ b/gcc/config/i386/i386.md > > > > @@ -18007,7 +18007,13 @@ (define_expand "cmps

Rename DECL_IS_BUILTIN to DECL_IS_UNDECLARED_BUILTIN

2020-10-23 Thread Nathan Sidwell
Patch affects C++, C, GO, common-core In cleaning up C++'s handling of hidden decls, I renamed its DECL_BUILTIN_P, which checks for loc == BUILTINS_LOCATION to DECL_UNDECLARED_BUILTIN_P, because the location gets updated, if user source declares the builtin, and the predicate no longer holds.

Re: PING^3 [PATCH] x86: Add cmpmemsi for -minline-all-stringops

2020-10-23 Thread H.J. Lu via Gcc-patches
On Sun, Oct 18, 2020 at 8:16 AM Jan Hubicka wrote: > > > On Fri, Oct 2, 2020 at 6:21 AM H.J. Lu wrote: > > > > > > On Wed, Sep 16, 2020 at 10:07 PM H.J. Lu wrote: > > > > > > > > On Wed, Aug 19, 2020 at 6:09 AM H.J. Lu wrote: > > > > > > > > > > On Tue, May 19, 2020 at 5:14 AM H.J. Lu wrote: >

PING^2 [PATCH] Use the section flag 'o' for __patchable_function_entries

2020-10-23 Thread H.J. Lu via Gcc-patches
On Fri, Oct 2, 2020 at 6:00 AM H.J. Lu wrote: > > On Thu, Feb 6, 2020 at 6:57 PM H.J. Lu wrote: > > > > This commit in GNU binutils 2.35: > > > > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=b7d072167715829eed0622616f6ae0182900de3e > > > > added the section flag 'o' to .sec

Re: [PATCH, OpenMP 5.0] Implement structure element mapping changes in 5.0

2020-10-23 Thread Jakub Jelinek via Gcc-patches
On Fri, Oct 23, 2020 at 06:24:20PM +0800, Chung-Lin Tang wrote: > this patch set implements more of OpenMP 5.0 mapping, specifically this part > in 2.19.7.1 map Clause: > > "If a list item in a map clause is a structure element then all other > structure elements of the > containing structure v

[PATCH] Optimize macro: make it more predictable

2020-10-23 Thread Martin Liška
Hey. This is a follow-up of the discussion that happened in thread about no_stack_protector attribute: https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545916.html The current optimize attribute works in the following way: - 1) we take current global_options as base - 2) maybe_default_options

[PATCH] testsuite: Add noexcept(false) to throwing destructor

2020-10-23 Thread Jonathan Wakely via Gcc-patches
I think this test is intended to check this property of the C++ standard: "If a destructor directly invoked by stack unwinding exits via an exception, std::terminate is invoked." [except.throw] Since C++11 any exception escaping a destructor will call std::terminate, so the test would terminate e

Re: Materialize clones on demand

2020-10-23 Thread Jan Hubicka
> > Bootstrapped/regtested x86_64-linux and also lto-bootstrapped with > > release checking. I plan to commit it after bit more testing. > > > > Honza > > > > gcc/ChangeLog: > > > > 2020-10-22 Jan Hubicka > > > > * cgraph.c (cgraph_node::get_untransformed_body): Perform lazy > > clone m

Re: Materialize clones on demand

2020-10-23 Thread Martin Jambor
Hi, On Thu, Oct 22 2020, Jan Hubicka wrote: > Hi, > this patch removes the pass to materialize all clones and instead this > is now done on demand. The motivation is to reduce lifetime of function > bodies in ltrans that should noticeably reduce memory use for highly > parallel compilations of la

Re: [PATCH] arc: Use separate predicated patterns for mpyd(u)

2020-10-23 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Gentle PING. On Wed, Oct 7, 2020 at 12:39 PM Claudiu Zissulescu wrote: > > From: Claudiu Zissulescu > > The compiler can match mpyd.eq r0,r1,r0 as a predicated instruction, > which is incorrect. The mpyd(u) instruction takes as input two 32-bit > registers, returning into a double 64-bit even-od

Re: [PATCH] arc: Improve/add instruction patterns to better use MAC instructions.

2020-10-23 Thread Claudiu Zissulescu Ianculescu via Gcc-patches
Gentle PING. On Fri, Oct 9, 2020 at 5:24 PM Claudiu Zissulescu wrote: > > From: Claudiu Zissulescu > > ARC MYP7+ instructions add MAC instructions for vector and scalar data > types. This patch adds a madd pattern for 16it datum that is using the > 32bit MAC instruction, and dot_prod patterns fo

Re: [PATCH] t/trodgers/c2a_synchronization

2020-10-23 Thread Jonathan Wakely via Gcc-patches
On 05/10/20 15:54 -0700, Thomas Rodgers wrote: From: Thomas Rodgers This *should* be the correct patch this time. There are still some review comments not addressed. I'll keep all my comments on this version in a single reply, so they aren't lost among multiple replies. I think the significa

[PATCH] middle-end/97521 - always use single-bit bools in mask vector types

2020-10-23 Thread Richard Biener
This makes us always use a single-bit boolean type component type for integer mode mask VECTOR_BOOLEAN_TYPE_P to match the RTL and target representation. This aovids the need for magic translation and the inconsistencies from the translation requirement now that we expose temporaries of those type

[PATCH, OpenMP 5.0] Implement structure element mapping changes in 5.0

2020-10-23 Thread Chung-Lin Tang
Hi Jakub, this patch set implements more of OpenMP 5.0 mapping, specifically this part in 2.19.7.1 map Clause: "If a list item in a map clause is a structure element then all other structure elements of the containing structure variable form a structure sibling list. The map clause and the st

Re: [PATCH] Add debug_bb_details and debug_bb_n_details

2020-10-23 Thread Richard Biener
On Fri, 23 Oct 2020, Xiong Hu Luo wrote: > Sometimes debug_bb_slim&debug_bb_n_slim is not enough, how about adding > this debug_bb_details&debug_bb_n_details? Or any other similar call > existed? There's already debug_bb and debug_bb_n in cfg.c which works on both RTL and GIMPLE. How about inste

Re: [Ada] Improve precision of Ada.Directories.Modification_Time

2020-10-23 Thread Hans-Peter Nilsson
On Fri, 23 Oct 2020, Arnaud Charlet wrote: > > > For future reference, TRT for this kind of problem is to > > > autoconf for the right struct field name, using AC_CHECK_MEMBER > > > or AC_CHECK_MEMBERS (then use e.g. #if HAVE_STAT_ST_MTIM / #if > > > HAVE_STAT_ST_MTIMESPEC, definitely not #if _

Re: New modref/ipa_modref optimization passes

2020-10-23 Thread Andre Vehreschild
On Fri, 23 Oct 2020 11:54:08 +0200 Bernhard Reutner-Fischer via Fortran wrote: > On 16 October 2020 11:20:23 CEST, Richard Biener wrote: > > >IMHO the cleanest way would be to swap the CAF token field and > >the dim[] field (which is an ABI change for -fcoarray) > > I think coarrays are new a

Re: [PATCH] Add debug_bb_details and debug_bb_n_details

2020-10-23 Thread Segher Boessenkool
On Fri, Oct 23, 2020 at 04:34:02AM -0500, Xiong Hu Luo wrote: > Sometimes debug_bb_slim&debug_bb_n_slim is not enough, how about adding > this debug_bb_details&debug_bb_n_details? Or any other similar call > existed? > + dump_bb (stderr, bb, 0, TDF_DETAILS | TDF_BLOCKS); You can just call this d

Re: New modref/ipa_modref optimization passes

2020-10-23 Thread Bernhard Reutner-Fischer via Gcc-patches
On 16 October 2020 11:20:23 CEST, Richard Biener wrote: >IMHO the cleanest way would be to swap the CAF token field and >the dim[] field (which is an ABI change for -fcoarray) I think coarrays are new anyway so I suppose an ABI break is fine?

Re: [Ada] Improve precision of Ada.Directories.Modification_Time

2020-10-23 Thread Arnaud Charlet
> > For future reference, TRT for this kind of problem is to > > autoconf for the right struct field name, using AC_CHECK_MEMBER > > or AC_CHECK_MEMBERS (then use e.g. #if HAVE_STAT_ST_MTIM / #if > > HAVE_STAT_ST_MTIMESPEC, definitely not #if __APPLE__). > > I'm not diasgreeing with your technical

Re: [patch] OpenMP: Fortran - support omp flush's memorder clauses

2020-10-23 Thread Bernhard Reutner-Fischer via Gcc-patches
On 22 October 2020 17:02:36 CEST, Jakub Jelinek via Gcc-patches wrote: >On Thu, Oct 22, 2020 at 04:52:10PM +0200, Tobias Burnus wrote: >> + else >> +{ >> + enum memmodel mo = MEMMODEL_LAST; >> + switch (code->ext.omp_clauses->memorder) >> +{ >> +case OMP_MEMORDER_ACQ_REL: m

[PATCH] Add debug_bb_details and debug_bb_n_details

2020-10-23 Thread Xiong Hu Luo via Gcc-patches
Sometimes debug_bb_slim&debug_bb_n_slim is not enough, how about adding this debug_bb_details&debug_bb_n_details? Or any other similar call existed? gcc/ChangeLog: 2020-10-23 Xionghu Luo * print-rtl.c (debug_bb_details): New function. * (debug_bb_n_details): New function. ---

Re: [Ada,FYI] revamp ada.numerics.aux

2020-10-23 Thread Alexandre Oliva
On Oct 22, 2020, Eric Botcazou wrote: >> So I'm going ahead and checking this in, approved by Eric Botcazou. >> (Rainer's followup patch is coming up separately but momentarily) >> >> >> aarch64-* and ppc*-linux-gnu long long float/long double mismatch > Does this fix https://gcc.gnu.org/PR975

Kryptowaluta: dobry sposob na zarabianie pieniedzy -- ZVS/46514810014

2020-10-23 Thread [iTrade] Józefa Kaminski via Gcc-patches
Zarob dzis fortune, inwestuje!.pdf Description: Binary data

[Ada] Clean up in writing of ALI files

2020-10-23 Thread Pierre-Marie de Rodat
We had code that was trying to read an existing ALI files to extract information in -gnatc mode, mainly for ASIS use. Remove this code which is no longer needed and might even cause hard to understand effects. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * lib-writ.ads, lib

[Ada] Reject illegal syntax in pragma Contract_Cases

2020-10-23 Thread Pierre-Marie de Rodat
In pragma Contract_Cases argument only "CASE_GUARD => CONSEQUENCE" clauses are allowed. Once we know that the pragma argument is an N_Aggregate, we checked if it has component associations; now we also check that it has no expressions. Same for the argument of the Subprogram_Variant contract, whos

[Ada] Implement new legality rules introduced in C.6(12) by AI12-0363

2020-10-23 Thread Pierre-Marie de Rodat
This removes the now obsolete legality rules specified by AI12-0128 and replaces them with the new legality rules specified by AI12-0363 pertaining to nonatomic subcomponents of full access types and objects. This also introduces the new aspect Full_Access_Only in Ada 2020 mode and revamps the imp

[Ada] Sockets.Poll implementation

2020-10-23 Thread Pierre-Marie de Rodat
Implement wait on set of sockets to become ready to perform I/O operations. Current implementation of the similar functionality with type Selector_Type and Check_Selector routine in GNAT.Sockets package is limited by 1024 sockets. New implementation limited only by process limit on number of open

[Ada] Further Ada 2020 work on accessibility checking

2020-10-23 Thread Pierre-Marie de Rodat
This patch implements AI12-0035, AI12-0335, AI12-0345, AI12-0372, and partially Ada2012-A235 and fixes many holes in accessibility checking. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * checks.adb (Apply_Accessibility_Check): Skip checks against the extra accessib

[Ada] Decorate iterated_component_association in SPARK expansion

2020-10-23 Thread Pierre-Marie de Rodat
When compiling iterated_component_association, the analysis, resolution and range checking is done when expanding aggregate into assignments. This is now mirrored in the custom expansion for GNATprove, so that the backend sees a fully decorated (but unexpanded) AST. Tested on x86_64-pc-linux-gnu,

[Ada] Do not use Long_Long_Long_Integer'Image with pragma Discard_Names

2020-10-23 Thread Pierre-Marie de Rodat
When the Image attribute is applied to an enumeration type subject to pragma Discard_Names, the underlying numeric value is printed instead of the string of the literal and this is done by invoking the Image routine of Long_Long_Long_Integer, which is overkill in the context. Tested on x86_64-pc-l

[Ada] Ignore container types for aggregates if not in Ada_2020

2020-10-23 Thread Pierre-Marie de Rodat
To prevent ambiguities in the use of predefined containers in legacy code, the resolution of aggregates must ignore the presence of the Aggregate aspect when the compilation version is earlier than Ada_2020. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_aggr.adb (Resol

[Ada] Fix logic in C_Select under mingw

2020-10-23 Thread Pierre-Marie de Rodat
GNAT started generated a new legitimate warning on g-socthi__mingw.adb: g-socthi.adb:395:19: warning: condition is always True After further investigation, it appears that Original_WFS was unconditionally dereferencing Writefds without first checking against null. Tested on x86_64-pc-linux-gnu, c

[Ada] Fix scope of index parameter inside a delta aggregate

2020-10-23 Thread Pierre-Marie de Rodat
When resolving iterated_component_association that occurs within delta_aggregate, we create an implicit loop which should act as a scope for the index parameter entity. However, the name of this entity was entered before pushing the scope of the implicit loop, so the index parameter was visible out

[Ada] Fix crash in SPARK on array delta_aggregate with subtype_indication

2020-10-23 Thread Pierre-Marie de Rodat
Expansion of array delta_aggregate in GNATprove mode needs handled ranges and expressions (including type identifiers), but not subtype_indications (e.g. "A with delta Integer range 1 .. 10 => 0"). Also, call Apply_Scalar_Range_Check didn't seem necessary for ranges and likewise it makes no differ

[Ada] CUDA: fix CUDA_Execute not working with aggregates

2020-10-23 Thread Pierre-Marie de Rodat
When expanding pragma CUDA_Execute, the compiler declares temporary variables to capture the value of the pragma's arguments. These declarations's type is inferred from the pragma's arguments type, because said arguments could be integers of CUDA.Vector_Types.Dim3s. Inferring the type of these dec

[Ada] CUDA: Use internal types instead of public ones

2020-10-23 Thread Pierre-Marie de Rodat
The previous version of the CUDA bindings had a C_Pass_By_Copy convention on its definition of the Dim3 type. The new version doesn't. This change causes ABI issues in generated binaries. In order to avoid needing changes in the compiler every time the public bindings are updated, a new Dim3 type

[Ada] Better error for illegal call to abstract operation in instantiations

2020-10-23 Thread Pierre-Marie de Rodat
In cases involving instantiations and formal packages, a call to an abstract nondispatching subprogram within an instantiation, where the operation comes in via the actual for a formal package, was not being flagged with an informative message on the instantiation. (A program could potentially comp

[Ada] Missing detection of unused with_clause

2020-10-23 Thread Pierre-Marie de Rodat
In some cases involving a package spec using object.method notation in e.g. subprogram aspects, an old change in Complete_Object_Operation would disable the proper detection of an unused "with" clause. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * sem_ch4.adb (Complete_Obj

[Ada] Crash on expression function and access type

2020-10-23 Thread Pierre-Marie de Rodat
This patch fixes a compiler abort on an expression function that is a completion, when the expression includes function calls and dereferences and the result is an access type. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * freeze.adb (Freeze_Type_Refs): Add guard on freezi

[Ada] Error when closing c_stream

2020-10-23 Thread Pierre-Marie de Rodat
When using .C_Streams.Open with a null Name, the File will be incorrectly set as a temporary file, causing a wrong attempt to delete it when closing it. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * libgnat/s-fileio.adb (Open): Fix setting of Tempfile.diff --git a/gcc/

[Ada] Prevent copying uninitialized array with address clause

2020-10-23 Thread Pierre-Marie de Rodat
An object of a nominal unconstrained array type may be given a subtype by initialization with an aggregate with specified bounds and box initialization. The freezing of the object copies the aggregate into the object, which propagates uninitialized values if the component type has no default specif

[Ada] Iterative patch for accessibility cleanup

2020-10-23 Thread Pierre-Marie de Rodat
This patch fixes a "comes from source" calculation needed for determining the innermost master scope depth. Also, this patch fixes issues calculating accessibility for function calls which initialize objects in their entirety. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ *

[Ada] Spurious errors on tagged types with renamed subprograms

2020-10-23 Thread Pierre-Marie de Rodat
When a tagged type erroneusly defines primitives by means of renaming subprograms that require overriding, the compiler properly reports the error; however, it also reports bogus errors indicating that the renaming declaration must be overridden. Tested on x86_64-pc-linux-gnu, committed on trunk

[Ada] Sync code for external properties with SPARK RM

2020-10-23 Thread Pierre-Marie de Rodat
Originally the allowed combinations of external properties (i.e. Async_Readers, Async_Writers, Effective_Writes and Effective_Reads) were described in the SPARK RM as a sequence of conditions. Then they have been rewritten as a table and now the correspondence between description in the SPARK RM an

[Ada] Fix default value for re-analysis of external property pragmas

2020-10-23 Thread Pierre-Marie de Rodat
Routine Analyze_External_Property_In_Decl_Part, which deals with pragmas Async_Readers, Async_Writers, Effective_Reads, Effective_Writes, returned early when the pragma has been already analyzed. When this happened, its output parameter Expr_Val was set to False no matter what the pragma argument w

[Ada] Always enable the support for 128-bit integer types on 64-bit platforms

2020-10-23 Thread Pierre-Marie de Rodat
This lifts the condition of the presence of s-arit128.ads in order to enable the support for 128-bit integer types on 64-bit platforms, the rationale being that this mirrors the support for 64-bit integer types on 32-bit platforms, which is always enabled. Tested on x86_64-pc-linux-gnu, committed

[Ada] Update header of front-end files

2020-10-23 Thread Pierre-Marie de Rodat
Some Ada front-end files had a runtime license exception header, which is not needed since these files are pure compiler (tool) files, and not runtime files. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * alloc.ads, aspects.adb, aspects.ads, atree.adb, atree.ads, ca

Re: [PATCH] xfail and improve some failing libgomp tests

2020-10-23 Thread Tom de Vries
On 10/22/20 3:19 PM, Jakub Jelinek wrote: > On Tue, Oct 06, 2020 at 05:45:31PM +0200, Tom de Vries wrote: >> I've updated the patch accordingly. >> >> FWIW, I now run into an ICE which looks like PR96680: > > With the patch I've posted today to fix up declare variant LTO handling, > Tobias reporte

Re: [Ada] Build support units for 128-bit integer types on 64-bit platforms

2020-10-23 Thread Andreas Schwab
target_os))),) >s-tpopsp.adbsystem.ads > + ifeq ($(strip $(filter-out sparc64 sparcv9,$(target_cpu))),) > +ifneq ($(strip $(MULTISUBDIR)),/32) > + LIBGNAT_TARGET_PAIRS += $(GNATRTL_128BIT_PAIRS) > + EXTRA_GNATRTL_NONTASKING_OBJS += $(GNATRTL_128BIT_OBJS) > +

  1   2   >