Re: [PATCH] Output DIEs for outlined OpenMP functions in correct lexical scope

2017-05-11 Thread Richard Biener
On Wed, May 10, 2017 at 5:24 PM, Jakub Jelinek wrote: > On Fri, May 05, 2017 at 10:23:59AM -0700, Kevin Buettner wrote: >> On Fri, 5 May 2017 14:23:14 +0300 (MSK) >> Alexander Monakov wrote: >> >> > On Thu, 4 May 2017, Kevin Buettner wrote: >> > > diff --git a/gcc/omp-expand.c b/gcc/omp-expand.c

Re: [PATCH 05/13] allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size

2017-05-11 Thread Trevor Saunders
On Wed, May 10, 2017 at 07:54:13AM +0100, Richard Sandiford wrote: > tbsaunde+...@tbsaunde.org writes: > > From: Trevor Saunders > > > > This allows us to set the capacity of the vector when we construct it, > > and still use a stack buffer when the size is small enough. > > > > gcc/ChangeLog: > >

Re: [RFA] Improve tree-ssa-uninit.c's predicate simplification

2017-05-11 Thread Richard Biener
On Wed, May 10, 2017 at 11:59 PM, Jeff Law wrote: > > So I have some improvements to jump threading that are regressing one of the > uninit-preds testcases. > > The problem is we end up threading deeper into the CFG during VRP1. This > changes the shape of the CFG such that the condition guarding

Re: [PATCH 02/13] improve bitmap / sbitmap compatability of bitmap_set_bit

2017-05-11 Thread Trevor Saunders
On Wed, May 10, 2017 at 07:44:17AM +0100, Richard Sandiford wrote: > tbsaunde+...@tbsaunde.org writes: > > From: Trevor Saunders > > > > This make the sbitmap version return true if the bit was previously > > unset to make it similar to the bitmap version. > > > > gcc/ChangeLog: > > > > 2017-05-09

Re: [PATCH 05/13] allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size

2017-05-11 Thread Richard Biener
On Thu, May 11, 2017 at 9:45 AM, Trevor Saunders wrote: > On Wed, May 10, 2017 at 07:54:13AM +0100, Richard Sandiford wrote: >> tbsaunde+...@tbsaunde.org writes: >> > From: Trevor Saunders >> > >> > This allows us to set the capacity of the vector when we construct it, >> > and still use a stack

Re: [PATCH 05/13] allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size

2017-05-11 Thread Trevor Saunders
On Thu, May 11, 2017 at 10:01:51AM +0200, Richard Biener wrote: > On Thu, May 11, 2017 at 9:45 AM, Trevor Saunders > wrote: > > On Wed, May 10, 2017 at 07:54:13AM +0100, Richard Sandiford wrote: > >> tbsaunde+...@tbsaunde.org writes: > >> > From: Trevor Saunders > >> > > >> > This allows us to s

Re: Go patches committed: merge recent changes to gofrontend

2017-05-11 Thread Andreas Schwab
../../../../libgo/runtime/proc.c: In function 'runtime_malg': ../../../../libgo/runtime/proc.c:729:43: error: implicit declaration of function 'mstats'; did you mean 'mstart1'? [-Werror=implicit-function-declaration] void *p = runtime_sysAlloc(stacksize, &mstats()->other_sys);

Re: [PATCH 05/13] allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size

2017-05-11 Thread Richard Sandiford
Trevor Saunders writes: > On Thu, May 11, 2017 at 10:01:51AM +0200, Richard Biener wrote: >> On Thu, May 11, 2017 at 9:45 AM, Trevor Saunders >> wrote: >> > On Wed, May 10, 2017 at 07:54:13AM +0100, Richard Sandiford wrote: >> >> tbsaunde+...@tbsaunde.org writes: >> >> > From: Trevor Saunders >>

Re: [C++ PATCH] add_method, clone_function_decl

2017-05-11 Thread Bernhard Reutner-Fischer
On 10 May 2017 at 15:15, Nathan Sidwell wrote: > Another cleanup from modules. Changed the final parms to bool from tree and > int respectively. In the former case we were only using its non-nullness. Maybe sed -i -e s/CLASTYPE_METHOD_VEC/CLASSTYPE_METHOD_VEC/ gcc/cp/class.c while at it thanks

Re: [PATCH][X86] Add missing intrinsics for VRSQRT14

2017-05-11 Thread Uros Bizjak
On Thu, May 11, 2017 at 7:43 AM, Koval, Julia wrote: > Hi, > > These are 4 missing intrinsics for VRSQRT14 instruction. Ok for trunk? > > gcc/ > * config/i386/avx512fintrin.h (_mm_mask_rsqrt14_sd, > _mm_maskz_rsqrt14_sd, > _mm_mask_rsqrt14_ss, _mm_maskz_rsqrt14_ss): New intrinsics

[PATCH, GCC/ARM, Stage 1] Add missing TARGET_32BIT conditional to movsi

2017-05-11 Thread Prakhar Bahuguna
Resolve the regressions introduced on non-Thumb targets by the Purecode for ARMv8-M Baseline patch. The TARGET_32BIT conditional has been re-added to the movsi expander and splitter in addition to TARGET_HAVE_MOVT. gcc/ChangeLog: 2017-05-11 Prakhar Bahuguna * config/arm/arm.md (movsi)

Re: [PATCH, GCC/ARM, Stage 1] Add missing TARGET_32BIT conditional to movsi

2017-05-11 Thread Kyrill Tkachov
On 11/05/17 10:56, Prakhar Bahuguna wrote: Resolve the regressions introduced on non-Thumb targets by the Purecode for ARMv8-M Baseline patch. The TARGET_32BIT conditional has been re-added to the movsi expander and splitter in addition to TARGET_HAVE_MOVT. gcc/ChangeLog: 2017-05-11 Prakhar B

Re: [PATCH][AArch64] Peephole for SUBS

2017-05-11 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00931.html Thanks, Kyrill On 21/04/17 09:20, Kyrill Tkachov wrote: Hi all, A pattern that sometimes occurs in the wild is to subtract two operands and separately compare them. This can be implemented as a single SUBS instruction and we act

Re: [PATCH][AArch64] Use SUBS for parallel subtraction and comparison with immediate

2017-05-11 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00932.html Thanks, Kyrill On 21/04/17 09:20, Kyrill Tkachov wrote: Hi all, Our sub3_compare1 pattern is not enough to catch cases where we subtract an immediate and compare against in PARALLEL. This is due to the RTL canonicalisation rules

Re: [PATCH][AArch64] Add HF vector modes to lane-to-lane INS pattern

2017-05-11 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00933.html Thanks, Kyrill On 21/04/17 09:34, Kyrill Tkachov wrote: Hi all, For the testcase in the patch we currently miss a combination and generate: foo: dup h1, v1.h[2] ins v0.h[3], v1.h[0] ret bar:

Re: [PATCH][AArch64] Add combine pattern for storing lane zero of a vecto

2017-05-11 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00934.html Thanks, Kyrill On 21/04/17 09:39, Kyrill Tkachov wrote: Hi all, Consider the code: typedef long long v2di __attribute__ ((vector_size (16))); void store_laned (v2di x, long long *y) { y[0] = x[1]; y[3] = x[0]; } AArch64 GCC

Re: [PATCH GCC8][29/33]New register pressure estimation

2017-05-11 Thread Richard Biener
On Tue, Apr 18, 2017 at 12:53 PM, Bin Cheng wrote: > Hi, > Currently IVOPTs shares the same register pressure computation with RTL loop > invariant pass, > which doesn't work very well. This patch introduces specific interface for > IVOPTs. > The general idea is described in the cover message a

Re: [PATCH GCC8][29/33]New register pressure estimation

2017-05-11 Thread Bin.Cheng
On Thu, May 11, 2017 at 11:39 AM, Richard Biener wrote: > On Tue, Apr 18, 2017 at 12:53 PM, Bin Cheng wrote: >> Hi, >> Currently IVOPTs shares the same register pressure computation with RTL loop >> invariant pass, >> which doesn't work very well. This patch introduces specific interface for >

Re: [PATCH GCC8][30/33]Fold more type conversion into binary arithmetic operations

2017-05-11 Thread Richard Biener
On Tue, Apr 18, 2017 at 12:53 PM, Bin Cheng wrote: > Hi, > Simplification of (T1)(X *+- CST) is already implemented in > aff_combination_expand, > this patch moves it to tree_to_aff_combination. It also supports unsigned > types > if range information allows the transformation, as well as speci

Re: [PATCH GCC8][31/33]Set range information for niter bound of vectorized loop

2017-05-11 Thread Richard Biener
On Tue, Apr 18, 2017 at 12:54 PM, Bin Cheng wrote > Hi, > Based on vect_peeling algorithm, we know for sure that vectorized loop must > iterates at least once. > This patch sets range information for niter bounds of vectorized loop. This > helps niter analysis, > so iv elimination too. > Is it

Re: [PATCH GCC8][32/33]Save niter check for vect peeling if loop versioning is required

2017-05-11 Thread Richard Biener
On Tue, Apr 18, 2017 at 12:54 PM, Bin Cheng wrote: > Hi, > When loop versioning is required in vectorization, we can merge niter check > for vect > peeling with the check for loop versioning, thus save one check/branch for > vectorized > loop. > Is it OK? Ok. Thanks, Richard. > Thanks, > bin

[C++ PATCH] Local bindings

2017-05-11 Thread Nathan Sidwell
getdecls and pop_binding are only ever used to deal with local scopes. (the one getdecls use that didn't is now a different hook). This patch renames things to make that clearer (get_local_decls and pop_local_binding). I also cleaned up poplevel, whose logic was somewhat more complex than nec

Re: [RFC] S/390: Alignment peeling prolog generation

2017-05-11 Thread Robin Dapp
Included the requested changes in the patches (to follow). I removed the alignment count check now altogether. > I'm not sure why you test for unlimited_cost_model here as I said > elsewhere I'm not sure > what not cost modeling means for static decisions. The purpose of > unlimited_cost_model >

[PATCH 1/5] Vect peeling cost model

2017-05-11 Thread Robin Dapp
gcc/ChangeLog: 2017-05-11 Robin Dapp * tree-vectorizer.h (dr_misalignment): Introduce DR_MISALIGNMENT_UNKNOWN. * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Refactoring. (vect_update_misalignment_for_peel): Use DR_MISALIGNMENT_UNKNOWN. (vect

[PATCH 2/5] Vect peeling cost model

2017-05-11 Thread Robin Dapp
gcc/ChangeLog: 2017-05-11 Robin Dapp * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Change comment and rename variable. (vect_get_peeling_costs_all_drs): New function. (vect_peeling_hash_get_lowest_cost): Use. (vect_peeling_supportable): Ne

[PATCH 3/5] Vect peeling cost model

2017-05-11 Thread Robin Dapp
gcc/ChangeLog: 2017-05-11 Robin Dapp * tree-vect-data-refs.c (vect_peeling_hash_choose_best_peeling): Return peeling info and set costs to zero for unlimited cost model. (vect_enhance_data_refs_alignment): Also inspect all datarefs with unknown misalignm

[PATCH 4/5] Vect peeling cost model

2017-05-11 Thread Robin Dapp
gcc/ChangeLog: 2017-05-11 Robin Dapp * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Remove check for supportable_dr_alignment, compute costs for doing no peeling at all, compare to the best peeling costs so far and do no peeling if cheaper. diff --g

[PATCH 5/5] Vect peeling cost model

2017-05-11 Thread Robin Dapp
gcc/testsuite/ChangeLog: 2017-05-11 Robin Dapp * gcc.target/s390/vector/vec-nopeel-2.c: New test. diff --git a/gcc/testsuite/gcc.target/s390/vector/vec-nopeel-2.c b/gcc/testsuite/gcc.target/s390/vector/vec-nopeel-2.c new file mode 100644 index 000..9b67793 --- /dev/null +++ b/gcc/t

[C++ PATCH] namespace bindings and pushdecl_top_level

2017-05-11 Thread Nathan Sidwell
This patch * changes a few uses of top_level_bindings_p to namespace_bindings_p. * moves some pushdecl_* declarations from cp-tree.h to name-lookup.h. * renames pushdecl_top_level_and_finish to pushdecl_top_level_with_init. nathan -- Nathan Sidwell 2017-05-11 Nathan Sidwell * cp-tree.h (pus

Re: [RFC] S/390: Alignment peeling prolog generation

2017-05-11 Thread Richard Biener
On Thu, May 11, 2017 at 1:15 PM, Robin Dapp wrote: > Included the requested changes in the patches (to follow). I removed > the alignment count check now altogether. > >> I'm not sure why you test for unlimited_cost_model here as I said >> elsewhere I'm not sure >> what not cost modeling means fo

Re: [RFC] S/390: Alignment peeling prolog generation

2017-05-11 Thread Richard Biener
On Thu, May 11, 2017 at 2:14 PM, Richard Biener wrote: > On Thu, May 11, 2017 at 1:15 PM, Robin Dapp wrote: >> Included the requested changes in the patches (to follow). I removed >> the alignment count check now altogether. >> >>> I'm not sure why you test for unlimited_cost_model here as I sai

Re: [PATCH] Fix PR79201 (half-way)

2017-05-11 Thread Rainer Orth
Hi Richard, > On Mon, 24 Apr 2017, Richard Biener wrote: >> >> One issue in PR79201 is that we don't sink pure/const calls which is >> what the following simple patch fixes. >> >> Bootstrap and regtest running on x86_64-unknown-linux-gnu. > > Needed some gimple_assign_lhs -> gimple_get_lhs adjus

Re: [PATCH 1/3] Remove support for obsolete x86 -malign-foo options

2017-05-11 Thread Denys Vlasenko
On 05/06/2017 09:20 AM, Uros Bizjak wrote: On Tue, Apr 18, 2017 at 8:30 PM, Denys Vlasenko wrote: 2017-04-18 Denys Vlasenko * config/i386/i386-common.c (ix86_handle_option): Remove support for obsolete -malign-loops, -malign-jumps and -malign-functions options. * config/i386

Runtime checking of OpenACC parallelism dimensions clauses

2017-05-11 Thread Thomas Schwinge
Hi! OK for trunk? commit 0ba48b4faf85420fbe12971afdd6e0afe70778bb Author: Thomas Schwinge Date: Fri May 5 16:41:59 2017 +0200 Runtime checking of OpenACC parallelism dimensions clauses libgomp/ * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.

OpenACC 2.5 kernels construct: num_gangs, num_workers, vector_length clauses

2017-05-11 Thread Thomas Schwinge
Hi! Building on the other pending patches (I'll soon commit the approved ones), we can then support the num_gangs, num_workers, vector_length clauses for the OpenACC 2.5 kernels construct. OK for trunk? commit a689c52cde71960bc08ae30c3f88980f66fdd0b8 Author: Thomas Schwinge Date: Thu May 11 1

Re: [PATCH] make RTL/TREE/IPA dump kind an index

2017-05-11 Thread Rainer Orth
Hi Nathan, > On 05/10/2017 05:05 AM, Richard Biener wrote: >> On Tue, May 9, 2017 at 9:00 PM, Nathan Sidwell wrote: > >> + >> +#define TDF_ADDRESS(1 << 3)/* dump node addresses */ >> >> this leaves 1 << 2 unused. > > Yes, that was intentional (though I suspect my note about it was hid

Re: [PATCH] make RTL/TREE/IPA dump kind an index

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 08:28 AM, Rainer Orth wrote: Hi Nathan, UNRESOLVED: g++.dg/inherit/covariant7.C -std=gnu++98 scan-tree-dump class "24 .*c6::_ZTcv0_n16_v0_n12_NV2c62f2Ev" UNRESOLVED: g++.dg/inherit/covariant7.C -std=gnu++98 scan-tree-dump class "28 .*c6::f2" UNRESOLVED: g++.dg/inherit

Re: [RFC] S/390: Alignment peeling prolog generation

2017-05-11 Thread Richard Biener
On Thu, May 11, 2017 at 2:15 PM, Richard Biener wrote: > On Thu, May 11, 2017 at 2:14 PM, Richard Biener > wrote: >> On Thu, May 11, 2017 at 1:15 PM, Robin Dapp wrote: >>> Included the requested changes in the patches (to follow). I removed >>> the alignment count check now altogether. >>>

Re: [PATCH] Fix PR79201 (half-way)

2017-05-11 Thread Richard Biener
On Thu, 11 May 2017, Rainer Orth wrote: > Hi Richard, > > > On Mon, 24 Apr 2017, Richard Biener wrote: > >> > >> One issue in PR79201 is that we don't sink pure/const calls which is > >> what the following simple patch fixes. > >> > >> Bootstrap and regtest running on x86_64-unknown-linux-gnu.

RE: [PATCH][X86] Add missing intrinsics for VRSQRT14

2017-05-11 Thread Koval, Julia
> Please macroize existing rsqrt14_ pattern. There is no existing macro to match this pattern - it is "mask first element of vec_merge", instead of mask the whole vector.(SDM Vol. 2C 5-527) https://software.intel.com/sites/default/files/managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf I can creat

Re: [PATCH] Fix PR79201 (half-way)

2017-05-11 Thread Uros Bizjak
On Thu, May 11, 2017 at 2:48 PM, Richard Biener wrote: > On Thu, 11 May 2017, Rainer Orth wrote: > >> Hi Richard, >> >> > On Mon, 24 Apr 2017, Richard Biener wrote: >> >> >> >> One issue in PR79201 is that we don't sink pure/const calls which is >> >> what the following simple patch fixes. >> >> >

Re: [PATCH][X86] Add missing intrinsics for VRSQRT14

2017-05-11 Thread Uros Bizjak
On Thu, May 11, 2017 at 2:59 PM, Koval, Julia wrote: >> Please macroize existing rsqrt14_ pattern. > There is no existing macro to match this pattern - it is "mask first element > of vec_merge", instead of mask the whole vector.(SDM Vol. 2C 5-527) > https://software.intel.com/sites/default/files

Re: [PATCH] make RTL/TREE/IPA dump kind an index

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 08:28 AM, Rainer Orth wrote: On the gcc-7 branch, the dump file (from -fdump-class-hierarchy) was called covariant7.C.002t.class, now it's covariant7.C.002l.class. But gcc/testsuite/lib/scantree.exp (scan-tree-dump) expects the NNNt. form. fixed thusly, applied as obvious. the

Re: [PATCH] make RTL/TREE/IPA dump kind an index

2017-05-11 Thread Uros Bizjak
Hello! > Currently, the TDF_foo flags serve 3 purposes: > 1) what kind of dump > 2) how detailed to print it > 3) auxiliary message control "-da" option now dumps all IPA dumps in addition to RTL dumps. Can this behavior be reverted, so "-da" will dump only RTL dumps, as it was before your patch?

[PATCH] Don't fold in save_expr (PR sanitizer/80536, PR sanitizer/80386)

2017-05-11 Thread Marek Polacek
I had an interesting time coming to grips with these two PRs. But it essentially comes down to the fold call in save_expr. With that, we can call fold() on an expression whose operands weren't folded yet, but that is what code in fold_binary_loc assumes. Since fold() is not recursive, we could e

[PATCH, GCC/ARM] Only test tls-disable-literal-pool.c if target supports native TLS

2017-05-11 Thread Prakhar Bahuguna
tls-disable-literal-pool.c should only be run if the toolchain and target support native thread-local storage rather than emulated TLS. This patch also improves the matching of the error message. testsuite/ChangeLog: 2017-05-11 Prakhar Bahuguna * gcc.target/arm/tls-disable-literal-poo

Re: [PATCH] Fix PR79201 (half-way)

2017-05-11 Thread Richard Biener
On Thu, 11 May 2017, Uros Bizjak wrote: > On Thu, May 11, 2017 at 2:48 PM, Richard Biener wrote: > > On Thu, 11 May 2017, Rainer Orth wrote: > > > >> Hi Richard, > >> > >> > On Mon, 24 Apr 2017, Richard Biener wrote: > >> >> > >> >> One issue in PR79201 is that we don't sink pure/const calls whic

[PATCH] Fix PR80705

2017-05-11 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2017-05-11 Richard Biener PR tree-optimization/80705 * tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED bases are not vectorizable. * gcc.dg/vect/bb-slp-pr80705.c: New testc

Re: [RFA] Improve tree-ssa-uninit.c's predicate simplification

2017-05-11 Thread Jeff Law
On 05/11/2017 01:50 AM, Richard Biener wrote: It actually seems to handle negation as well. Which means it handles disjunctive normal form. Negation is "handled" by allowing an individual predicate to be negated. However, the predicate must still be is_neq_zero_form_p to really participate

[PATCH] PR libstdc++/80285 optimize std::make_shared for -fno-rtti

2017-05-11 Thread Jonathan Wakely
std::make_shared didn't support embedding the object within the shared_ptr bookkeeping structure when -fno-rtti was used. This was because the trick I use for getting the address of the embedded object relied on typeid, so without RTTI it just creating the object separately on the heap. This remo

[PATCH] fix -da

2017-05-11 Thread Nathan Sidwell
A simple thinko caused -da to start including ipa dumps. While investigating I noticed we might also place the kind enumeration into pflags, so defensively stripped that out. Fixed thusly & committed. nathan -- Nathan Sidwell 2017-05-11 Nathan Sidwell * dumpfile.h (TDF_FLAGS): New. * du

[C++ PATCH] xref lambda types

2017-05-11 Thread Nathan Sidwell
We were frobing lamda scopes to regular classes when pushing them, but with a few tweaks name lookup can cope directly. nathan -- Nathan Sidwell 2017-05-11 Nathan Sidwell * decl.c (xref_tag_1): Don't frob ts_lambda scope here. * name-lookup.c (pushtag_1): Deal with ts_lambda scope. Index:

Re: [testsuite, committed, PR65941] Add and use effective target rdrand

2017-05-11 Thread Rainer Orth
Hi Tom, > 2017-05-01 Tom de Vries > > PR testsuite/65941 > * lib/target-supports.exp (check_effective_target_rdrand): New proc. the new effective-target keyword needs documenting in sourcebuild.texi. Thanks. Rainer -- -

Re: [PATCH, rs6000] Add x86 instrinsic headers to GCC PPC64LE taget

2017-05-11 Thread Segher Boessenkool
On Wed, May 10, 2017 at 12:59:28PM -0500, Steven Munroe wrote: > > That is just for the testsuite; I meant what happens if a user tries > > to use it with an older target (or BE, or 32-bit)? Is there a useful, > > obvious error message? > > > So looking at the X86 headers, their current practice

[C++ PATCH] fix timer thinko

2017-05-11 Thread Nathan Sidwell
Bernhard's pestering finally got through. There was an early out that failed to stop the timer. fixed by rearranging the code. nathan -- Nathan Sidwell 2017-05-11 Nathan Sidwell * name-lookup.c (pushdecl_outermost_localscope): Always conditionally stop timer. Index: name-lookup.c ==

Re: [PATCH GCC8][01/33]Handle TRUNCATE between tieable modes in rtx_cost

2017-05-11 Thread Christophe Lyon
Hi Bin, On 10 May 2017 at 16:31, Bin.Cheng wrote: > On Wed, May 3, 2017 at 11:09 AM, Kyrill Tkachov > wrote: >> Hi Bin, >> >> >> On 03/05/17 11:02, Bin.Cheng wrote: >>> >>> On Wed, May 3, 2017 at 9:38 AM, Bin.Cheng wrote: On Wed, May 3, 2017 at 7:17 AM, Eric Botcazou wrote: >>>

Re: [C++ PATCH] fix timer thinko

2017-05-11 Thread Bernhard Reutner-Fischer
On 11 May 2017 at 16:52, Nathan Sidwell wrote: > Bernhard's pestering finally got through. There was an early out that > failed to stop the timer. > > fixed by rearranging the code. :) thanks. LGTM but i cannot approve it.

Re: [PATCH] Fix PR79201 (half-way)

2017-05-11 Thread Uros Bizjak
On Thu, May 11, 2017 at 4:02 PM, Richard Biener wrote: >> > Uros added the testcase in 2008 -- I think if we want to have a testcase >> > for the original issue we need a different one. Or simply remove >> > the testcase. >> >> No, there is something going on in the testcase: >> >> .L3: >>

Re: documentation (mt_allocator): non-working link to example program

2017-05-11 Thread Jonathan Wakely
On 06/05/17 22:23 +0200, Stefan Schweter wrote: Hi, the current *libstdc++* documentation of the `mt_allocator` implementation [1] points to a non-working link: http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup The `gcc` prefix is missin

Re: [C++ PATCH] fix timer thinko

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 11:02 AM, Bernhard Reutner-Fischer wrote: On 11 May 2017 at 16:52, Nathan Sidwell wrote: Bernhard's pestering finally got through. There was an early out that failed to stop the timer. fixed by rearranging the code. :) thanks. LGTM but i cannot approve it. Oh, already commit

Re: [PATCH] Tree-level fix for PR 69526

2017-05-11 Thread Bin.Cheng
On Tue, Jan 17, 2017 at 9:48 AM, Richard Biener wrote: > On Tue, Jan 10, 2017 at 2:32 PM, Robin Dapp wrote: >> Perhaps I'm still missing how some cases are handled or not handled, >> sorry for the noise. >> >>> I'm not sure there is anything to "interpret" -- the operation is unsigned >>> and ove

Re: [PATCH] Make PRE/FRE elimination not do useless work

2017-05-11 Thread Christophe Lyon
Hi Richard, On 10 May 2017 at 16:20, Richard Biener wrote: > > So this is a patch that makes skipping unreachable code when > doing elimination possible. Previously interesting interactions > with tail-merging made this impossible, now I seem to have > figured a way around this. > > Bootstrappe

[PATCH, GCC/testsuite/ARM] Add MOVT testing for ARMv8-M Baseline

2017-05-11 Thread Thomas Preudhomme
Hi, When ARMv8-M Baseline support was introduced no testcase was added for support of the MOVT instruction because GCC would always prefer a load from literal pool. With the recent work to fix -mslow-flash-data by Andre Simoes Dias Vieira and Prakhar Bahuguna it is now possible to test that suppo

[PATCH 4/5 v2] Vect peeling cost model

2017-05-11 Thread Robin Dapp
Included the workaround for SLP now. With it, testsuite is clean on x86 as well. gcc/ChangeLog: 2017-05-11 Robin Dapp * tree-vect-data-refs.c (vect_get_data_access_cost): Workaround for SLP handling. (vect_enhance_data_refs_alignment): Remove check for supporta

[PATCH, Fortran] PR78659 Spurious "requires DTIO" reported against namelist statement

2017-05-11 Thread Jerry DeLisle
Hi all, The attached patch fixes this issue by moving the DTIO namelist checks from namelist resolution to READ/WRITE statement resolution. This allows the checks to be specific to the io_kind. The dtio_procs_present function is moved and modified to accept the io_kind as an argument and chec

PATCH ATTACHED Re: [PATCH, Fortran] PR78659 Spurious "requires DTIO" reported against namelist statement

2017-05-11 Thread Jerry DeLisle
And the actual patch ... On 05/11/2017 08:30 AM, Jerry DeLisle wrote: Hi all, The attached patch fixes this issue by moving the DTIO namelist checks from namelist resolution to READ/WRITE statement resolution. This allows the checks to be specific to the io_kind. The dtio_procs_present funct

[C++ PATCH] Revert pushdecl_top_level_and_finish name change

2017-05-11 Thread Nathan Sidwell
During untangling the name change made sense. But didn't at the final outcome, so I've reverted it. Sorry for the churn. nathan -- Nathan Sidwell 2017-05-11 Nathan Sidwell Revert pushdecl_top_level_and_finish name change. * name-lookup.h (pushdecl_top_level_and_finish): Resurrect old nam

Re: [PATCH] Kill -fdump-translation-unit

2017-05-11 Thread Nathan Sidwell
On 05/10/2017 04:49 AM, Richard Biener wrote: On Tue, May 9, 2017 at 5:41 PM, Nathan Sidwell wrote: -fdump-translation-unit is an inscrutably opaque dump. It turned out that most of the uses of the tree-dump header file was to indirectly get at dumpfile.h, and the dump_function entry point it

[PATCH, rs6000] Fold vector multiplies in GIMPLE

2017-05-11 Thread Will Schmidt
Hi, Add support for some of the vector multiply (sp,dp) operations in the gimple folding. I missed these during an earlier pass that added the other (mule, mulo) multiply operations. This change is covered by the existing testcases for vector folding (gcc.target/powerpc/fold-vec-mul-*.c).

[PATCH] Externalize definition of create_tmp_reg_or_ssa_name

2017-05-11 Thread Will Schmidt
Hi, I had initially posted this back in Dec, at which time it was given an OK. Since a bunch of time has passed, I'm reposting to refresh memories, and ensure it's still OK. :-) I will be needing access to the create_tmp_reg_or_ssa_name() function for some subsequent early expansion of

[PATCH, rs6000] Fold vector logicals in GIMPLE

2017-05-11 Thread Will Schmidt
Hi, Add handling for early expansion of vector locical operations in gimple. Specifically: vec_and, vec_andc, vec_or, vec_xor, vec_orc, vec_nand. Bootstrapped and tested on powerpc64le-unknown-linux-gnu, and powerpc-unknown-linux, (p7,p8le,p8be) with no regressions. (This patch requires the

[PATCH, rs6000] Fold vector divides in GIMPLE

2017-05-11 Thread Will Schmidt
Hi, Add handling for early expansion of vector divide built-ins Bootstrapped and tested on powerpc64le-unknown-linux-gnu, and powerpc-unknown-linux, (p7,p8le,p8be) with no regressions. OK for trunk? Thanks, -Will [gcc] 2017-05-10 Will Schmidt * config/rs6000/rs6000.c

[PATCH, rs6000] Fix PR80695 (vec_construct cost modeling issue)

2017-05-11 Thread Bill Schmidt
Hi, PR80695 identifies a case (similar to several others we've seen) where SLP vectorization is too aggressive about vectorizing stores. The problem is that we undervalue the cost of a vec_construct operation. vec_construct is the vectorizer's representation for building a vector from scalar ele

Re: [PATCH] warn on mem calls modifying objects of non-trivial types (PR 80560)

2017-05-11 Thread Martin Sebor
On 04/30/2017 02:02 PM, Pedro Alves wrote: Hi Martin, Thanks much for doing this. A few comments below, in light of my experience doing the equivalent checks in the gdb patch linked below, using standard C++11. Thanks for the feedback! It gave me quite a bit to think about. The challenge wi

Re: [PATCH] warn on mem calls modifying objects of non-trivial types (PR 80560)

2017-05-11 Thread Jakub Jelinek
On Thu, May 11, 2017 at 10:23:48AM -0600, Martin Sebor wrote: > Unlike in C, the preferred way to initialize objects in C++ > is to use some form of initialization (as opposed to memset). > The preferred way to copy objects is using the copy ctor or > assignment operator (as opposed to memcpy). Us

Re: [PATCH] warn on mem calls modifying objects of non-trivial types (PR 80560)

2017-05-11 Thread Martin Sebor
On 05/11/2017 10:34 AM, Jakub Jelinek wrote: On Thu, May 11, 2017 at 10:23:48AM -0600, Martin Sebor wrote: Unlike in C, the preferred way to initialize objects in C++ is to use some form of initialization (as opposed to memset). The preferred way to copy objects is using the copy ctor or assignm

Re: [RFC PATCH, i386]: Enable post-reload compare elimination pass

2017-05-11 Thread Jeff Law
On 05/10/2017 02:27 PM, Jakub Jelinek wrote: On Wed, May 10, 2017 at 09:57:56PM +0200, Uros Bizjak wrote: BTW: This patch now catches 417 cases (instead of 200+) in linux build, including e.g.: (parallel [ (set (reg:CCZ 17 flags) (compare:CCZ (lshiftrt:SI (reg:SI 4 si [ori

Re: PATCH ATTACHED Re: [PATCH, Fortran] PR78659 Spurious "requires DTIO" reported against namelist statement

2017-05-11 Thread Paul Richard Thomas
Hi Jerry, This patch is good for both trunk and 7-branch. Thanks! Paul On 11 May 2017 at 16:35, Jerry DeLisle wrote: > And the actual patch ... > > On 05/11/2017 08:30 AM, Jerry DeLisle wrote: >> >> Hi all, >> >> The attached patch fixes this issue by moving the DTIO namelist checks >> from n

Re: [PATCH] Move target independent code to support target_clones attributes from i386 to common code

2017-05-11 Thread Jeff Law
On 05/10/2017 04:40 PM, Michael Meissner wrote: As I mentioned in the mail message: https://gcc.gnu.org/ml/gcc/2017-05/msg00060.html I'm working on adding the target_clones attribute support to the PowerPC. I have an implementation right now, but I want to iterate on it somewhat. In doing the

Re: [PATCH] Kill -fdump-translation-unit

2017-05-11 Thread Rainer Orth
Hi Nathan, > On 05/10/2017 04:49 AM, Richard Biener wrote: >> On Tue, May 9, 2017 at 5:41 PM, Nathan Sidwell wrote: >>> -fdump-translation-unit is an inscrutably opaque dump. It turned out that >>> most of the uses of the tree-dump header file was to indirectly get at >>> dumpfile.h, and the dum

Re: [PATCH, rs6000] Fix PR80695 (vec_construct cost modeling issue)

2017-05-11 Thread Bill Schmidt
I meant to mention that I regstrapped this on both POWER8 and POWER9. Bill > On May 11, 2017, at 10:59 AM, Bill Schmidt > wrote: > > Hi, > > PR80695 identifies a case (similar to several others we've seen) where SLP > vectorization is too aggressive about vectorizing stores. The problem is >

[C++ PATCH] pushdecl and friends

2017-05-11 Thread Nathan Sidwell
This patch reduces the variants of pushdecl by use of default arguments. gone are the _maybe_friend variants. nathan -- Nathan Sidwell 2017-05-11 Nathan Sidwell * name-lookup.h (pushdecl): Add default friend parm. (pushdecl_maybe_friend): Delete. (pushdecl_top_level): Add default friend

Re: [PATCH] Kill -fdump-translation-unit

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 01:33 PM, Rainer Orth wrote: unfortunately, this part * graphite-poly.c: Don't include tree-dump.h. broke bootstrap with graphite: oh, that has to be configured enabled? I've committed this that I think is obvious. looks to be another case of using tree-dumph to get

Re: [PATCH] Kill -fdump-translation-unit

2017-05-11 Thread Rainer Orth
Hi Nathan, > On 05/11/2017 01:33 PM, Rainer Orth wrote: > >> unfortunately, this part >> >> * graphite-poly.c: Don't include tree-dump.h. >> >> broke bootstrap with graphite: > > oh, that has to be configured enabled? I've committed this that I think is right: it requires an appropriate ver

Re: [PATCH] decl lang hooks

2017-05-11 Thread Rainer Orth
Hi Nathan, > On 05/08/2017 05:34 PM, Joseph Myers wrote: >> On Mon, 8 May 2017, Nathan Sidwell wrote: > >>> This patch changes the C++ FE to override the pushdecl and getdecl lang >>> hooks. >>> In addition to simply overriding them there, I had to fixup a couple of >>> places >>> in c-family/c-co

[PATCH, rs6000] gcc mainline, add builtin support for vec_popcnt() and vec_slo()

2017-05-11 Thread Carl E. Love
GCC Maintainers: This patch adds support for the various vec_popcnt() and vec_slo() builtins. The patch has been tested on powerpc64le-unknown-linux-gnu (Power 8 LE) with no regressions. Is the patch OK for gcc mainline? Carl Love -

Re: [PATCH] decl lang hooks

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 01:50 PM, Rainer Orth wrote: however, it breaks bootstrap with --enable-languages=obj-c++: wierd, I thought --enable-languges=all enabled that (and I have seen objc issues pop up during development). Will take another look. nathan -- Nathan Sidwell

[PATCH, i386]: Fix PR 80706, prevent unwanted peephole2 matching

2017-05-11 Thread Uros Bizjak
Hello! Attached patch prevents unwanted peephole2 matching. With SSE, we can expand atomic load through XMM registers using generic DImode move patterns. It can happen that peephole2 matches unrelated insn sequence, and this way removes random FP store to memory. The patch introduces specialized

Re: [RFC PATCH, i386]: Enable post-reload compare elimination pass

2017-05-11 Thread Jeff Law
On 05/10/2017 01:05 PM, Uros Bizjak wrote: On Wed, May 10, 2017 at 5:18 PM, Uros Bizjak wrote: On Wed, May 10, 2017 at 4:27 PM, Jakub Jelinek wrote: On Tue, May 09, 2017 at 06:06:47PM +0200, Uros Bizjak wrote: Attached patch enables post-reload compare elimination pass by providing expected

Re: Fix for PR79987

2017-05-11 Thread Ilya Enkovich
2017-05-11 0:05 GMT+03:00 Alexander Ivchenko : > Didn't quite get your point. I though that the idea is to hit this code: > > bounds = chkp_generate_extern_var_bounds (decl); > ... to get the builtin_sizeof call on this variable and hence to get > the size relocation. What exactly do you mean

Re: [RFC PATCH, i386]: Enable post-reload compare elimination pass

2017-05-11 Thread Jakub Jelinek
On Thu, May 11, 2017 at 12:28:56PM -0600, Jeff Law wrote: > On 05/10/2017 01:05 PM, Uros Bizjak wrote: > > On Wed, May 10, 2017 at 5:18 PM, Uros Bizjak wrote: > > > On Wed, May 10, 2017 at 4:27 PM, Jakub Jelinek wrote: > > > > On Tue, May 09, 2017 at 06:06:47PM +0200, Uros Bizjak wrote: > > > > >

Re: [C++ PATCH] pushdecl and friends

2017-05-11 Thread Christophe Lyon
Hi Nathan On 11 May 2017 at 19:40, Nathan Sidwell wrote: > This patch reduces the variants of pushdecl by use of default arguments. > gone are the _maybe_friend variants. > Since this commit (r247918), GCC builds fail at least for aarch64/arm. I've noticed this error message: libtool: compile:

Re: [RFC PATCH, i386]: Enable post-reload compare elimination pass

2017-05-11 Thread Uros Bizjak
On Thu, May 11, 2017 at 8:28 PM, Jeff Law wrote: >> Attached patch changes compare-elim.c order to what i386.md expects. >> >> Thoughts? > > Haven't looked at the patch itself. But I do have the necessary bits to > convert the mn103 port. It was slightly more than just fixing the md file, > but

Re: [C++ PATCH] pushdecl and friends

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 02:45 PM, Christophe Lyon wrote: `/tmp/3713244_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/gcc1/libcc1' I suspect it will be an obvious fix? oh gee. I committed the ChangeLog but not the changed file. just done. Hopefully soon the churn will be res

Re: [C++ PATCH] pushdecl and friends

2017-05-11 Thread Christophe Lyon
On 11 May 2017 at 20:49, Nathan Sidwell wrote: > On 05/11/2017 02:45 PM, Christophe Lyon wrote: > >> >> `/tmp/3713244_6.tmpdir/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/gcc1/libcc1' >> >> I suspect it will be an obvious fix? > > > oh gee. I committed the ChangeLog but not the c

Re: [PATCH, rs6000] Fold vector multiplies in GIMPLE

2017-05-11 Thread Segher Boessenkool
Hi! On Thu, May 11, 2017 at 10:51:54AM -0500, Will Schmidt wrote: > Add support for some of the vector multiply (sp,dp) operations in > the gimple folding. I missed these during an earlier pass that > added the other (mule, mulo) multiply operations. This change is > covered by the existing test

Re: [PATCH, rs6000] Fold vector logicals in GIMPLE

2017-05-11 Thread Segher Boessenkool
Hi! On Thu, May 11, 2017 at 10:53:33AM -0500, Will Schmidt wrote: > Add handling for early expansion of vector locical operations in gimple. > Specifically: vec_and, vec_andc, vec_or, vec_xor, vec_orc, vec_nand. You also handle nor (except in the changelog). But what about eqv? Segher

Re: [PATCH] decl lang hooks

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 01:50 PM, Rainer Orth wrote: Hi Nathan, On 05/08/2017 05:34 PM, Joseph Myers wrote: ^~ make: *** [Makefile:1102: objcp/objcp-lang.o] Error 1 Having learnt how to spell --enable-languages properly today, here's the fix, whi

Re: [C++ PATCH] pushdecl and friends

2017-05-11 Thread Nathan Sidwell
On 05/11/2017 02:54 PM, Christophe Lyon wrote: On 11 May 2017 at 20:49, Nathan Sidwell wrote: oh gee. I committed the ChangeLog but not the changed file. just done. I have now ... nathan -- Nathan Sidwell

Re: [PATCH, rs6000] Add x86 instrinsic headers to GCC PPC64LE taget

2017-05-11 Thread Steven Munroe
On Thu, 2017-05-11 at 09:39 -0500, Segher Boessenkool wrote: > On Wed, May 10, 2017 at 12:59:28PM -0500, Steven Munroe wrote: > > > That is just for the testsuite; I meant what happens if a user tries > > > to use it with an older target (or BE, or 32-bit)? Is there a useful, > > > obvious error m

  1   2   >