[PATCH][vect] PR92317: fix skip_epilogue creation for epilogues

2019-11-06 Thread Andre Vieira (lists)
Hi, When investigating PR92317 I noticed that when we create the skip epilogue condition, see ('if (skip_epilog)' in 'vect_do_peeling'), we only copy phi-nodes that are not constants in 'slpeel_update_phi_nodes_for_guard2'. This can cause problems later when we create the scalar epilogue

Re: [1/6] Fix vectorizable_conversion costs

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 3:25 PM Richard Sandiford wrote: > > This patch makes two tweaks to vectorizable_conversion. The first > is to use "modifier" to distinguish between promotion, demotion, > and neither promotion nor demotion, rather than using a code for > some cases and "modifier" for

Re: [3/4] Don't vectorise single-iteration epilogues

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Mon, Nov 4, 2019 at 4:30 PM Richard Sandiford > wrote: >> >> With a later patch I saw a case in which we peeled a single iteration >> for gaps but didn't need to peel further iterations to make up a full >> vector. We then tried to vectorise the single-iteration

Re: [11/n] Support vectorisation with mixed vector sizes

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Fri, Oct 25, 2019 at 2:43 PM Richard Sandiford > wrote: >> >> After previous patches, it's now possible to make the vectoriser >> support multiple vector sizes in the same vector region, using >> related_vector_mode to pick the right vector mode for a given >> element

Re: [14/n] Vectorise conversions between differently-sized integer vectors

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Fri, Oct 25, 2019 at 2:51 PM Richard Sandiford > wrote: >> >> This patch adds AArch64 patterns for converting between 64-bit and >> 128-bit integer vectors, and makes the vectoriser and expand pass >> use them. > > So on GIMPLE we'll see > > v4si _1; > v4di _2; > >

Re: [3/4] Don't vectorise single-iteration epilogues

2019-11-06 Thread Richard Biener
On Wed, Nov 6, 2019 at 1:22 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Mon, Nov 4, 2019 at 4:30 PM Richard Sandiford > > wrote: > >> > >> With a later patch I saw a case in which we peeled a single iteration > >> for gaps but didn't need to peel further iterations to make up

[PATCH][Arm] Only enable fsched-pressure with Ofast

2019-11-06 Thread Wilco Dijkstra
The current pressure scheduler doesn't appear to correctly track register pressure and avoid creating unnecessary spills when register pressure is high. As a result disabling the early scheduler improves integer performance considerably and reduces codesize as a bonus. Since scheduling floating

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Wed, Nov 6, 2019 at 11:21 AM Richard Sandiford > wrote: >> >> Richard Biener writes: >> > On Tue, Nov 5, 2019 at 9:25 PM Richard Sandiford >> > wrote: >> >> >> >> Patch 12/n makes the AArch64 port add four entries to >> >> autovectorize_vector_modes. Each entry

Re: [PATCH][vect] PR92317: fix skip_epilogue creation for epilogues

2019-11-06 Thread Andre Vieira (lists)
Sorry for the double post, ignore please. On 06/11/2019 10:57, Andre Vieira (lists) wrote: Hi, When investigating PR92317 I noticed that when we create the skip epilogue condition, see ('if (skip_epilog)' in 'vect_do_peeling'), we only copy phi-nodes that are not constants in

Re: [PATCH] [ARC] Add builtins for identifying floating point support

2019-11-06 Thread Claudiu Zissulescu
Ok, I'll push it asap. Thank you for your help, Claudiu On Tue, Nov 5, 2019 at 8:19 PM Vineet Gupta wrote: > > Currently for hard float we need to check for > __ARC_FPU_SP__ || __ARC_FPU_DP__ and for soft float inverse of that. > So define single convenience macros for either cases > > gcc/ >

Re: [4/4] Use scan-tree-dump instead of scan-tree-dump-times for some vect tests

2019-11-06 Thread Richard Biener
On Mon, Nov 4, 2019 at 4:30 PM Richard Sandiford wrote: > > With later patches, we're able to vectorise the epilogues of these tests > on AArch64 and so get two instances of "vectorizing stmts using SLP". > Although it would be possible with a bit of effort to predict when > this happens, it

Re: [PATCH] Support multiple registers for the frame pointer

2019-11-06 Thread Kwok Cheung Yeung
On 04/11/2019 08:02 pm, Dimitar Dimitrov wrote: On Sat, 2 Nov 2019, 19:28:38 EET Kwok Cheung Yeung wrote: diff --git a/gcc/ira.c b/gcc/ira.c index 9f8da67..25e9359 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -515,7 +515,13 @@ setup_alloc_regs (bool use_hard_frame_p) #endif

Re: introduce -fcallgraph-info option

2019-11-06 Thread Alexandre Oliva
On Nov 4, 2019, Richard Biener wrote: > Please leave that part out for now, I'd rather discuss this separately > from the bulk of the patch. That is, I wonder why we shouldn't > simply adjust aux_base_name to something else for -flto [in the driver]. *nod*, that makes sense to me. After

Re: [3/4] Don't vectorise single-iteration epilogues

2019-11-06 Thread Richard Biener
On Mon, Nov 4, 2019 at 4:30 PM Richard Sandiford wrote: > > With a later patch I saw a case in which we peeled a single iteration > for gaps but didn't need to peel further iterations to make up a full > vector. We then tried to vectorise the single-iteration epilogue. But when peeling for gaps

[PATCH] Some vectorizable_reduction TLC

2019-11-06 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-06 Richard Biener * tree-vect-loop.c (vectorizable_reduction): Remember reduction PHI. Use STMT_VINFO_REDUC_IDX to skip the reduction operand. Simplify single_defuse_cycle condition.

Re: [PATCH][RFC] Param to options conversion (demo).

2019-11-06 Thread Richard Biener
On Wed, Nov 6, 2019 at 9:56 AM Martin Liška wrote: > > On 11/5/19 5:01 PM, Richard Biener wrote: > > On Tue, Nov 5, 2019 at 4:22 PM Martin Liška wrote: > >> > >> On 11/5/19 3:13 PM, Richard Biener wrote: > >>> On Thu, Oct 31, 2019 at 2:17 PM Martin Liška wrote: > > On 10/31/19 2:16

Re: [4/6] Optionally pick the cheapest loop_vec_info

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 3:29 PM Richard Sandiford wrote: > > This patch adds a mode in which the vectoriser tries each available > base vector mode and picks the one with the lowest cost. For now > the behaviour is behind a default-off --param, but a later patch > enables it by default for SVE. >

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Wed, Nov 6, 2019 at 12:02 PM Richard Sandiford > wrote: >> >> Richard Biener writes: >> > On Wed, Nov 6, 2019 at 11:21 AM Richard Sandiford >> > wrote: >> >> >> >> Richard Biener writes: >> >> > On Tue, Nov 5, 2019 at 9:25 PM Richard Sandiford >> >> > wrote: >> >>

Re: [PATCH] Report errors on inconsistent OpenACC nested reduction clauses

2019-11-06 Thread Harwath, Frederik
Hi Thomas, On 05.11.19 15:22, Thomas Schwinge wrote: > For your convenience, I'm attaching an incremental patch, to be merged > into yours.> [...]> With that addressed, OK for trunk. Thank you. I have merged the patches and committed. > A few more comments to address separately, later on. I

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-06 Thread Richard Biener
On Wed, Nov 6, 2019 at 12:02 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Wed, Nov 6, 2019 at 11:21 AM Richard Sandiford > > wrote: > >> > >> Richard Biener writes: > >> > On Tue, Nov 5, 2019 at 9:25 PM Richard Sandiford > >> > wrote: > >> >> > >> >> Patch 12/n makes the

Re: [1/4] Restructure vect_analyze_loop

2019-11-06 Thread Richard Biener
On Mon, Nov 4, 2019 at 4:26 PM Richard Sandiford wrote: > > Once vect_analyze_loop has found a valid loop_vec_info X, we carry > on searching for alternatives if (1) X doesn't satisfy simdlen or > (2) we want to vectorise the epilogue of X. I have a patch that > optionally adds a third reason:

Re: [2/4] Check the VF is small enough for an epilogue loop

2019-11-06 Thread Richard Biener
On Mon, Nov 4, 2019 at 4:29 PM Richard Sandiford wrote: > > The number of iterations of an epilogue loop is always smaller than the > VF of the main loop. vect_analyze_loop_costing was taking this into > account when deciding whether the loop is cheap enough to vectorise, > but that has no

Re: [3/6] Avoid accounting for non-existent vector loop versioning

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 3:28 PM Richard Sandiford wrote: > > vect_analyze_loop_costing uses two profitability thresholds: a runtime > one and a static compile-time one. The runtime one is simply the point > at which the vector loop is cheaper than the scalar loop, while the > static one also

Re: [2/6] Don't assign a cost to vectorizable_assignment

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 3:27 PM Richard Sandiford wrote: > > vectorizable_assignment handles true SSA-to-SSA copies (which hopefully > we don't see in practice) and no-op conversions that are required > to maintain correct gimple, such as changes between signed and > unsigned types. These cases

Re: [5/6] Account for the cost of generating loop masks

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 3:31 PM Richard Sandiford wrote: > > We didn't take the cost of generating loop masks into account, and so > tended to underestimate the cost of loops that need multiple masks. OK. > > 2019-11-05 Richard Sandiford > > gcc/ > * tree-vect-loop.c

Re: [Patch] Add OpenACC 2.6's no_create

2019-11-06 Thread Thomas Schwinge
Hi Tobias! On 2019-11-06T00:47:05+0100, I wrote: > --- a/libgomp/testsuite/libgomp.oacc-fortran/common-block-2.f90 > +++ b/libgomp/testsuite/libgomp.oacc-fortran/common-block-2.f90 > @@ -76,7 +76,9 @@ program main > >!$acc enter data create(b) > > - !$acc parallel loop pcopy(b) > +

[PATCH][committed] Warn about inconsistent OpenACC nested reduction clauses

2019-11-06 Thread frederik
From: frederik OpenACC (cf. OpenACC 2.7, section 2.9.11. "reduction clause"; this was first clarified by OpenACC 2.6) requires that, if a variable is used in reduction clauses on two nested loops, then there must be reduction clauses for that variable on all loops

Re: [PATCH][committed] Warn about inconsistent OpenACC nested reduction clauses

2019-11-06 Thread Jakub Jelinek
On Wed, Nov 06, 2019 at 01:41:47PM +0100, frede...@codesourcery.com wrote: > --- a/gcc/omp-low.c > +++ b/gcc/omp-low.c > @@ -128,6 +128,12 @@ struct omp_context > corresponding tracking loop iteration variables. */ >hash_map *lastprivate_conditional_map; > > + /* A tree_list of the

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 9:25 PM Richard Sandiford wrote: > > Patch 12/n makes the AArch64 port add four entries to > autovectorize_vector_modes. Each entry describes a different > vector mode assignment for vector code that mixes 8-bit, 16-bit, > 32-bit and 64-bit elements. But if (as usual) the

Re: [10a/n] Require equal type sizes for vectorised calls

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 9:10 PM Richard Sandiford wrote: > > As explained in the comment, vectorizable_call needs more work to > support mixtures of sizes. This avoids testsuite fallout for > later SVE patches. > > Was originally going to be later in the series, but applying it > before 11/n

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-06 Thread Richard Biener
On Wed, Nov 6, 2019 at 11:21 AM Richard Sandiford wrote: > > Richard Biener writes: > > On Tue, Nov 5, 2019 at 9:25 PM Richard Sandiford > > wrote: > >> > >> Patch 12/n makes the AArch64 port add four entries to > >> autovectorize_vector_modes. Each entry describes a different > >> vector mode

Ping^1 [patch][avr] PR92055: Add switches to enable 64-bit [long] double.

2019-11-06 Thread Georg-Johann Lay
Ping #1 Am 31.10.19 um 22:55 schrieb Georg-Johann Lay: Hi, this adds the possibility to enable IEEE compatible double and long double support in avr-gcc. It supports 2 configure options --with-double={32|64|32,64|64,32} --with-long-double={32|64|32,64|64,32|double} which select the default

Re: [PATCH][RFC] Param to options conversion (demo).

2019-11-06 Thread Martin Liška
On 11/5/19 5:01 PM, Richard Biener wrote: On Tue, Nov 5, 2019 at 4:22 PM Martin Liška wrote: On 11/5/19 3:13 PM, Richard Biener wrote: On Thu, Oct 31, 2019 at 2:17 PM Martin Liška wrote: On 10/31/19 2:16 PM, Martin Liška wrote: On 10/31/19 2:01 PM, Martin Liška wrote: Hi. Based on the

Re: Add object allocators to symbol and call summaries

2019-11-06 Thread Richard Biener
On Tue, Nov 5, 2019 at 6:53 PM Jan Hubicka wrote: > > > On 11/5/19 3:48 PM, Jan Hubicka wrote: > > > > > > > > > > stringpool.c:63 (alloc_node)47M: 2.3% > > > > > 0 : 0.0%0 : 0.0%0 : 0.0% 1217k > > > > > ipa-prop.c:4480

Re: [PATCH][vect] PR92317: fix skip_epilogue creation for epilogues

2019-11-06 Thread Richard Biener
On Tue, 5 Nov 2019, Andre Vieira (lists) wrote: > Hi, > > When investigating PR92317 I noticed that when we create the skip epilogue > condition, see ('if (skip_epilog)' in 'vect_do_peeling'), we only copy > phi-nodes that are not constants in 'slpeel_update_phi_nodes_for_guard2'. > This can

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Tue, Nov 5, 2019 at 9:25 PM Richard Sandiford > wrote: >> >> Patch 12/n makes the AArch64 port add four entries to >> autovectorize_vector_modes. Each entry describes a different >> vector mode assignment for vector code that mixes 8-bit, 16-bit, >> 32-bit and 64-bit

Re: Free memory used by optimization/target options

2019-11-06 Thread Martin Liška
On 11/5/19 11:40 AM, Jan Hubicka wrote: + print " if (ptr->" name")"; + print "free (const_cast (ptr->" name"));"; If I'm correct, you can call free even for a NULL pointer. Martin

Re: [PATCH, rs6000] Make load cost more in vectorization cost for P8/P9

2019-11-06 Thread Segher Boessenkool
Hi! On Tue, Nov 05, 2019 at 10:14:46AM +0800, Kewen.Lin wrote: > >> + benefits were observed on Power8 and up, we can unify it if similar > >> + profits are measured on Power6 and Power7. */ > >> + if (TARGET_P8_VECTOR) > >> +return 2; > >> + else > >> +return 1; > > > > Hrm,

Re: [PATCH] simplify-rtx: simplify_logical_relational_operation

2019-11-06 Thread Jeff Law
On 11/6/19 8:00 AM, Segher Boessenkool wrote: > This introduces simplify_logical_relational_operation. Currently the > only thing implemented it can simplify is the IOR of two CONDs of the > same arguments. > > Tested on powerpc64-linux {-m32,-m64}. > > Is this okay for trunk? > > > Segher >

Re: [PATCH V3] rs6000: Refine small loop unroll in loop_unroll_adjust hook

2019-11-06 Thread Segher Boessenkool
Hi! On Tue, Nov 05, 2019 at 04:33:23PM +0800, Jiufu Guo wrote: > --- gcc/common/config/rs6000/rs6000-common.c (revision 277765) > +++ gcc/common/config/rs6000/rs6000-common.c (working copy) > @@ -35,7 +35,9 @@ static const struct default_options rs6000_option_ > { OPT_LEVELS_ALL,

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

2019-11-06 Thread Jeff Law
On 11/6/19 11:00 AM, Martin Sebor wrote: > The -Wstringop-overflow warnings for single-byte and multi-byte > stores mention the amount of data being stored and the amount of > space remaining in the destination, such as: > > warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]

[PATCH] C++20 CA378 - Remove constrained non-template functions.

2019-11-06 Thread Jason Merrill
No real use cases have arisen for constraints on non-templated functions, and handling of them has never been entirely clear, so the committee agreed to accept this national body comment proposing that we remove them. Tested x86_64-pc-linux-gnu, applying to trunk. * decl.c (grokfndecl):

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

2019-11-06 Thread Martin Sebor
On 11/6/19 11:55 AM, Jeff Law wrote: On 11/6/19 11:00 AM, Martin Sebor wrote: The -Wstringop-overflow warnings for single-byte and multi-byte stores mention the amount of data being stored and the amount of space remaining in the destination, such as: warning: writing 4 bytes into a region of 

Re: [PATCH] Add if-chain to switch conversion pass.

2019-11-06 Thread Bernhard Reutner-Fischer
On Tue, 5 Nov 2019 13:38:27 +0100 Richard Biener wrote: > On Mon, Nov 4, 2019 at 3:49 PM Jakub Jelinek wrote: > > > > On Mon, Nov 04, 2019 at 03:23:20PM +0100, Martin Liška wrote: > > > The patch adds a new pass that identifies a series of if-elseif > > > statements and transform then into a

Re: [PATCH V3] rs6000: Refine small loop unroll in loop_unroll_adjust hook

2019-11-06 Thread Jiufu Guo
Segher Boessenkool writes: > Hi! > > On Tue, Nov 05, 2019 at 04:33:23PM +0800, Jiufu Guo wrote: >> --- gcc/common/config/rs6000/rs6000-common.c (revision 277765) >> +++ gcc/common/config/rs6000/rs6000-common.c (working copy) >> @@ -35,7 +35,9 @@ static const struct default_options rs6000_option_

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

2019-11-06 Thread Jeff Law
On 11/6/19 1:27 PM, Martin Sebor wrote: > On 11/6/19 11:55 AM, Jeff Law wrote: >> On 11/6/19 11:00 AM, Martin Sebor wrote: >>> The -Wstringop-overflow warnings for single-byte and multi-byte >>> stores mention the amount of data being stored and the amount of >>> space remaining in the 

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

2019-11-06 Thread Martin Sebor
On 11/6/19 1:39 PM, Jeff Law wrote: On 11/6/19 1:27 PM, Martin Sebor wrote: On 11/6/19 11:55 AM, Jeff Law wrote: On 11/6/19 11:00 AM, Martin Sebor wrote: The -Wstringop-overflow warnings for single-byte and multi-byte stores mention the amount of data being stored and the amount of space 

Re: [PATCH 1/3] libgcc: Add --disable-eh-frame-registry configure option

2019-11-06 Thread Jozef Lawrynowicz
On Wed, 6 Nov 2019 16:16:27 + Jozef Lawrynowicz wrote: > The attached patch enables the EH Frame Registry to be explicitly disabled > with a configure option "-disable-eh-frame-registry", thereby removing code to > support it in crtstuff.c > > Default behaviour is unchanged since

Re: introduce -fcallgraph-info option

2019-11-06 Thread Thomas Schwinge
Hi Alexandre! On 2019-10-26T01:35:43-0300, Alexandre Oliva wrote: > This was first submitted many years ago > https://gcc.gnu.org/ml/gcc-patches/2010-10/msg02468.html > > The command line option -fcallgraph-info is added and makes the > compiler generate another output file (xxx.ci) for each

Re: [4/6] Optionally pick the cheapest loop_vec_info

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Tue, Nov 5, 2019 at 3:29 PM Richard Sandiford > wrote: >> >> This patch adds a mode in which the vectoriser tries each available >> base vector mode and picks the one with the lowest cost. For now >> the behaviour is behind a default-off --param, but a later patch >>

[PATCH][ARM] Improve max_cond_insns setting for Cortex cores

2019-11-06 Thread Wilco Dijkstra
Various CPUs have max_cond_insns set to 5 due to historical reasons. Benchmarking shows that max_cond_insns=2 is fastest on modern Cortex-A cores, so change it to 2 for all Cortex-A cores. Set max_cond_insns to 4 on Thumb-2 architectures given it's already limited to that by

Re: [PATCH] Fix parser to recognize operator?:

2019-11-06 Thread Jason Merrill
On 10/14/19 11:27 AM, Matthias Kretz wrote: This time with testcase. Is the subdir for the test ok? Yes. gcc/ChangeLog: 2019-10-11 Matthias Kretz * gcc/cp/parser.c (cp_parser_operator): Parse operator?: as an attempt to overload the conditional operator. Then

Re: GCC wwwdocs move to git done

2019-11-06 Thread Georg-Johann Lay
Am 06.11.19 um 15:03 schrieb Georg-Johann Lay: Am 09.10.19 um 02:27 schrieb Joseph Myers: I've done the move of GCC wwwdocs to git (using the previously posted and discussed scripts), including setting up the post-receive hook to do the same things previously covered by the old CVS hooks, and

Re: [4/6] Optionally pick the cheapest loop_vec_info

2019-11-06 Thread Richard Biener
On Wed, Nov 6, 2019 at 3:01 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Tue, Nov 5, 2019 at 3:29 PM Richard Sandiford > > wrote: > >> > >> This patch adds a mode in which the vectoriser tries each available > >> base vector mode and picks the one with the lowest cost. For now

Re: Ping^1 [patch][avr] PR92055: Add switches to enable 64-bit [long] double.

2019-11-06 Thread Georg-Johann Lay
Am 06.11.19 um 11:39 schrieb Georg-Johann Lay: Ping #1 Am 31.10.19 um 22:55 schrieb Georg-Johann Lay: Hi, this adds the possibility to enable IEEE compatible double and long double support in avr-gcc. It supports 2 configure options --with-double={32|64|32,64|64,32}

[PATCH 0/3] libgcc/crtstuff.c tweaks to reduce code size

2019-11-06 Thread Jozef Lawrynowicz
Some functionality in crtstuff.c will never be used for some targets, resulting in unnecessary code bloat in the crt* object files. For example, msp430-elf uses .{init,fini}_array, does not support shared objects, does not support transactional memory and could be configured to remove support for

[PATCH 3/3] libgcc: Implement TARGET_LIBGCC_REMOVE_DSO_HANDLE

2019-11-06 Thread Jozef Lawrynowicz
For some targets __dso_handle will never be used, and its definition in crtstuff.c can cause a domino effect resulting in the size of the final executable increasing much more than just the size of this piece of data. For msp430, CRT functions to initialize global data are only included if there

[PATCH 2/3] libgcc: Dont define __do_global_dtors_aux if it will be empty

2019-11-06 Thread Jozef Lawrynowicz
__do_global_dtors_aux in crtstuff.c will not do anything meaningful if: * crtstuff.c is not being compiled for use in a shared library * the target uses .{init,fini}_array sections * TM clone registry is disabled * EH frame registry is disabled The attached patch prevents it from being

Ping2: [PATCH] Fix parser to recognize operator?:

2019-11-06 Thread Matthias Kretz
ping2 On Montag, 14. Oktober 2019 12:27:11 CET Matthias Kretz wrote: > This time with testcase. Is the subdir for the test ok? > > gcc/ChangeLog: > > 2019-10-11 Matthias Kretz > > * gcc/cp/parser.c (cp_parser_operator): Parse operator?: as an > attempt to overload the

Re: [2/6] Don't assign a cost to vectorizable_assignment

2019-11-06 Thread Richard Sandiford
Richard Biener writes: > On Tue, Nov 5, 2019 at 3:27 PM Richard Sandiford > wrote: >> >> vectorizable_assignment handles true SSA-to-SSA copies (which hopefully >> we don't see in practice) and no-op conversions that are required >> to maintain correct gimple, such as changes between signed and

Generalise gather and scatter optabs

2019-11-06 Thread Richard Sandiford
The gather and scatter optabs required the vector offset to be the integer equivalent of the vector mode being loaded or stored. This patch generalises them so that the two vectors can have different element sizes, although they still need to have the same number of elements. One consequence of

[Patch][OpenMP][Fortran] Support absent optional args with use_device_{ptr,addr} (+ OpenACC's use_device clause)

2019-11-06 Thread Tobias Burnus
This patch is based on Kwok's patch, posted as (4/5) at https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00964.html – which is targeting OpenACC's use_device* – but it also applies to OpenMP use_device_{ptr,addr}. I added an OpenMP test case. It showed that for arguments with value attribute

Re: introduce -fcallgraph-info option

2019-11-06 Thread Alexandre Oliva
On Nov 4, 2019, Richard Biener wrote: > I wonder why we shouldn't simply adjust aux_base_name to something > else for -flto [in the driver]. About that, having tried to make sense of the current uses of aux_base_name and of lto-wrapper, three main possibilities occur to me: a) adjust the

Re: [PATCH, GCC/ARM, 2/10] Add command line support for Armv8.1-M Mainline

2019-11-06 Thread Kyrill Tkachov
Hi Mihail, On 11/4/19 4:49 PM, Kyrill Tkachov wrote: Hi Mihail, On 10/23/19 10:26 AM, Mihail Ionescu wrote: > [PATCH, GCC/ARM, 2/10] Add command line support > > Hi, > > === Context === > > This patch is part of a patch series to add support for Armv8.1-M > Mainline Security Extensions

[PATCH 1/3] libgcc: Add --disable-eh-frame-registry configure option

2019-11-06 Thread Jozef Lawrynowicz
The attached patch enables the EH Frame Registry to be explicitly disabled with a configure option "-disable-eh-frame-registry", thereby removing code to support it in crtstuff.c Default behaviour is unchanged since USE_EH_FRAME_REGISTRY was previously referenced only internally in crtstuff.c,

[PATCH, rs6000] Add xxswapd support for V2DF and V2DI modes

2019-11-06 Thread Kelvin Nilsen
It was recently discovered that the existing xxswapd instruction patterns lack support for the V2DF and V2DI modes. Support for these modes is required for certain new instruction patterns that are being implemented. This patch adds the desired support. The patch has been bootstrapped and

Re: GCC wwwdocs move to git done

2019-11-06 Thread Georg-Johann Lay
Am 09.10.19 um 02:27 schrieb Joseph Myers: I've done the move of GCC wwwdocs to git (using the previously posted and discussed scripts), including setting up the post-receive hook to do the same things previously covered by the old CVS hooks, and minimal updates to the web pages dealing with the

[PATCH] simplify-rtx: simplify_logical_relational_operation

2019-11-06 Thread Segher Boessenkool
This introduces simplify_logical_relational_operation. Currently the only thing implemented it can simplify is the IOR of two CONDs of the same arguments. Tested on powerpc64-linux {-m32,-m64}. Is this okay for trunk? Segher 2018-11-06 Segher Boessenkool * simplify-rtx.c

Re: Add object allocators to symbol and call summaries

2019-11-06 Thread Martin Liška
On 11/5/19 6:53 PM, Jan Hubicka wrote: Found it. It turns out that ggc_prune_ovehread_list is bogus. It walks all active allocations objects and looks if they was collected accoutnig their collection and then throws away all allocations (including those not colelcted) and those gets no longer

Re: [PATCH, GCC/ARM, 3/10] Save/restore FPCXTNS in nsentry functions

2019-11-06 Thread Kyrill Tkachov
Hi Mihail, On 10/23/19 10:26 AM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 3/10] Save/restore FPCXTNS in nsentry functions Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to enable saving/restoring

[PATCH] Fix copy-paste typo syntax error by r277872

2019-11-06 Thread luoxhu
Tested pass and committed to r277904. gcc/testsuite/ChangeLog: 2019-11-07 Xiong Hu Luo * gcc.target/powerpc/pr72804.c: Move inline options from dg-require-effective-target to dg-options. --- gcc/testsuite/gcc.target/powerpc/pr72804.c | 4 ++-- 1 file changed, 2

[PATCH, rs6000 v2] Make load cost more in vectorization cost for P8/P9

2019-11-06 Thread Kewen.Lin
Hi Segher, on 2019/11/7 上午1:38, Segher Boessenkool wrote: > Hi! > > On Tue, Nov 05, 2019 at 10:14:46AM +0800, Kewen.Lin wrote: + benefits were observed on Power8 and up, we can unify it if similar + profits are measured on Power6 and Power7. */ + if (TARGET_P8_VECTOR)

Re: [PATCH] Fix hash_operand for fields of a CONSTRUCTOR.

2019-11-06 Thread Jeff Law
On 11/5/19 1:35 AM, Martin Liška wrote: > On 11/4/19 4:24 PM, Jeff Law wrote: >> On 11/4/19 6:36 AM, Richard Biener wrote: >>> On Mon, Nov 4, 2019 at 2:35 PM Richard Biener >>>  wrote: On Mon, Nov 4, 2019 at 10:09 AM Martin Liška  wrote: > > On 11/1/19 10:51 PM, Jeff Law wrote:

[PATCH 0/2] Introduce a new GCC option, --record-gcc-command-line

2019-11-06 Thread Egeyar Bagcioglu
Hello, I would like to propose the following patches which introduce a compile option --record-gcc-command-line. When passed to gcc, it saves the command line option into the produced object file. The option makes it trivial to trace back how a file was compiled and by which version of the

URGENT REPLY NEEDED

2019-11-06 Thread PCH
WHY HAVE I NOT HEARD FROM YOU?

[PATCH 2/2] Introduce the gcc option --record-gcc-command-line

2019-11-06 Thread Egeyar Bagcioglu
gcc/ChangeLog: 2019-10-21 Egeyar Bagcioglu * common.opt (--record-gcc-command-line): New option. * config/elfos.h (TARGET_ASM_RECORD_GCC_COMMAND_LINE): Define as elf_record_gcc_command_line. * doc/tm.texi: Regenerate. * doc/tm.texi.in

[PATCH 1/2] Introduce dg-require-target-object-format

2019-11-06 Thread Egeyar Bagcioglu
gcc/testsuite/ChangeLog: 2019-11-06 Egeyar Bagcioglu * lib/target-supports-dg.exp: Define dg-require-target-object-format. --- gcc/testsuite/lib/target-supports-dg.exp | 11 +++ 1 file changed, 11 insertions(+) diff --git a/gcc/testsuite/lib/target-supports-dg.exp

Re: [PATCH, rs6000] Add xxswapd support for V2DF and V2DI modes

2019-11-06 Thread Segher Boessenkool
Hi! On Wed, Nov 06, 2019 at 10:41:42AM -0600, Kelvin Nilsen wrote: > It was recently discovered that the existing xxswapd instruction patterns > lack support for the V2DF and V2DI modes. Support for these modes is > required for certain new instruction patterns that are being implemented.

Re: Free memory used by optimization/target options

2019-11-06 Thread Jeff Law
On 11/6/19 2:22 AM, Martin Liška wrote: > On 11/5/19 11:40 AM, Jan Hubicka wrote: >> +    print "  if (ptr->" name")"; >> +    print "    free (const_cast (ptr->" name"));"; > > If I'm correct, you can call free even for a NULL pointer. You can and I think we expunged all the NULL tests before

[PATCH] libstdc++: remove redundant equality operators

2019-11-06 Thread Jonathan Wakely
Now that operator<=> is supported, these operators can be generated by the compiler. * include/bits/iterator_concepts.h (unreachable_sentinel_t): Remove redundant equality operators. * testsuite/util/testsuite_iterators.h (test_range::sentinel): Likewise. Tested

[PATCH] libstdc++: Add compare_three_way and install header

2019-11-06 Thread Jonathan Wakely
* include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * libsupc++/compare (__3way_builtin_ptr_cmp): Define helper. (compare_three_way): Add missing implementation. Tested powerpc64le-linux, committed to trunk. commit

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

2019-11-06 Thread Martin Sebor
The -Wstringop-overflow warnings for single-byte and multi-byte stores mention the amount of data being stored and the amount of space remaining in the destination, such as: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=] 123 | *p = 0; | ~~~^~~ note:

Re: make value_range the base class and value_range_equiv the derived class

2019-11-06 Thread Jeff Law
On 11/5/19 6:21 AM, Aldy Hernandez wrote: > The base class for ranges is currently value_range_base, which is rather > long and cumbersome.  It also occurs more often than the derived class > of value_range.  To avoid confusion, and save typing, this patch does a > global rename from value_range

Re: [PATCH] Clear version_info_node in delete_function_version.

2019-11-06 Thread Jeff Law
On 11/5/19 8:12 AM, Martin Liška wrote: > Hi. > > When calling delete_function_version, we should also clear > version_info_node once it can be seen GGC collect. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > >

Re: [PATCH] Fix attribute((section)) for templates

2019-11-06 Thread Strager Neds
Summary: Do not merge my patch. It needs more work. I realized a problem with my patch. With -flto, __attribute__((section)) is still broken (i.e. my patch has no effect for LTO builds). I narrowed the problem to localize_node (gcc/ipa-visibility.c, historically part of

Re: [PATCH rs6000]Fix PR92132

2019-11-06 Thread Segher Boessenkool
Hi Ke Wen, On Tue, Nov 05, 2019 at 04:35:05PM +0800, Kewen.Lin wrote: > >> ;; 128-bit one's complement > >> -(define_insn_and_split "*one_cmpl3_internal" > >> +(define_insn_and_split "one_cmpl3_internal" > > > > Instead, rename it to "one_cmpl3" and delete the define_expand that > > serves no

Re: [PATCH] bring -Warray-bounds closer to -Wstringop-overflow (PR91647, 91463, 91679)

2019-11-06 Thread Maciej W. Rozycki
On Wed, 6 Nov 2019, Jeff Law wrote: > > It is what I believe has also broken glibc: > > > > In file included from ../sysdeps/riscv/libc-tls.c:19: > > ../csu/libc-tls.c: In function '__libc_setup_tls': > > ../csu/libc-tls.c:209:30: error: array subscript 1 is outside the bounds of > > an

[C++ PATCH] Implement D1907R1 "structural type".

2019-11-06 Thread Jason Merrill
ISO C++ paper D1907R1 proposes "structural type" as an alternative to the current notion of "strong structural equality", which has various problems. I'm implementing it to give people a chance to try it. The build_base_field changes are to make it easier for structural_type_p to see whether a

Re: [PATCH, OpenACC, v2] Non-contiguous array support for OpenACC data clauses

2019-11-06 Thread Thomas Schwinge
Hi Chung-Lin! On 2019-11-05T22:35:43+0800, Chung-Lin Tang wrote: > Hi Thomas, > after your last round of review, I realized that the bulk of the compiler > omp-low work was > simply a case of dumb over-engineering in the wrong direction :P > (although it did painstakingly function correctly)

Re: [patch][avr] PR92055: Add switches to enable 64-bit [long] double.

2019-11-06 Thread Jeff Law
On 10/31/19 3:55 PM, Georg-Johann Lay wrote: > Hi, this adds the possibility to enable IEEE compatible double > and long double support in avr-gcc. > > It supports 2 configure options > > --with-double={32|64|32,64|64,32} > --with-long-double={32|64|32,64|64,32|double} > > which select the 

Re: [PATCH] bring -Warray-bounds closer to -Wstringop-overflow (PR91647, 91463, 91679)

2019-11-06 Thread Maciej W. Rozycki
On Fri, 1 Nov 2019, Martin Sebor wrote: > Rebuilding the kernel with the updated patch results in the following > breakdown of the two warnings (the numbers are total instances of each, > unique instances, and files they come from): > >-Wzero-length-bounds 49 46

C++ PATCH for nested requirements normalization

2019-11-06 Thread Jason Merrill
Andrew sent me this patch separately, for handling nested requirements by normalizing immediately. It still had a regression in concepts-pr67148.C at that point, due to an issue with tsubst_pack_expansion: normalizing requires Same >(); meant substituting the template arguments of the

Re: [PATCH V3] rs6000: Refine small loop unroll in loop_unroll_adjust hook

2019-11-06 Thread Jiufu Guo
Jiufu Guo writes: > Segher Boessenkool writes: > >> Hi! >> >> On Tue, Nov 05, 2019 at 04:33:23PM +0800, Jiufu Guo wrote: >>> --- gcc/common/config/rs6000/rs6000-common.c(revision 277765) >>> +++ gcc/common/config/rs6000/rs6000-common.c(working copy) >>> @@ -35,7 +35,9 @@ static

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

2019-11-06 Thread Martin Sebor
On 11/6/19 2:06 PM, Martin Sebor wrote: On 11/6/19 1:39 PM, Jeff Law wrote: On 11/6/19 1:27 PM, Martin Sebor wrote: On 11/6/19 11:55 AM, Jeff Law wrote: On 11/6/19 11:00 AM, Martin Sebor wrote: The -Wstringop-overflow warnings for single-byte and multi-byte stores mention the amount of data 

Re: [PATCH, OpenACC] Add support for gang local storage allocation in shared memory

2019-11-06 Thread Julian Brown
Hi! This is a new patch that takes a different approach to the last-posted version in this thread. I have combined the previous incremental patches on the og9 branch that culminated in the following patch: https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01220.html From that email, the following

Re: [PATCH] bring -Warray-bounds closer to -Wstringop-overflow (PR91647, 91463, 91679)

2019-11-06 Thread Jeff Law
On 11/6/19 4:09 PM, Maciej W. Rozycki wrote: > On Fri, 1 Nov 2019, Martin Sebor wrote: > >> Rebuilding the kernel with the updated patch results in the following >> breakdown of the two warnings (the numbers are total instances of each, >> unique instances, and files they come from): >> >>

Move string concatenation for C into the parser

2019-11-06 Thread Joseph Myers
This patch is another piece of preparation for C2x attributes support. C2x attributes require unbounded lookahead in the parser, because the token sequence '[[' that starts a C2x attribute is also valid in Objective-C in some of the same contexts, so it is necessary to see whether the matching

Re: [PATCH V3] rs6000: Refine small loop unroll in loop_unroll_adjust hook

2019-11-06 Thread Jiufu Guo
Jiufu Guo writes: Hi Segher, I updated the patch for option name at the end of this mail. Thanks for review in advance. > Jiufu Guo writes: > >> Segher Boessenkool writes: >> >>> Hi! >>> >>> On Tue, Nov 05, 2019 at 04:33:23PM +0800, Jiufu Guo wrote: ---

[PATCH] debug-counter for GIMPLE unrolling

2019-11-06 Thread Richard Biener
Helps to narrow down some bugs. Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-07 Richard Biener * dbgcnt.def (gimple_unroll): New. * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Check gimple_unroll debug counter before

Re: [PATCH target/92295] Fix inefficient vector constructor

2019-11-06 Thread Hongtao Liu
Ping! On Sat, Nov 2, 2019 at 9:38 PM Hongtao Liu wrote: > > Hi Jakub: > Could you help reviewing this patch. > > PS: Since this patch is related to vectors(avx512f), and Uros > mentioned before that he has no intension to maintain avx512f. > > On Fri, Nov 1, 2019 at 9:12 AM Hongtao Liu wrote:

  1   2   >