[PATCH] Fix bogus option suggestions for RejectNegative options (PR driver/71651)

2016-06-24 Thread David Malcolm
PR driver/71651 identifies an issue where the driver can make nonsensical suggestions for options flagged as RejectNegative: $ gcc -fno-stack-protector-explicit gcc: error: unrecognized command line option '-fno-stack-protector-explicit'; did you mean '-fno-stack-protector-explicit'? where the

C++ PATCH for order of evaluation with compound LHS

2016-06-24 Thread Jason Merrill
This patch stops breaking up (side-effect, lval) = rval; into side-effect; lval = rval; because now the RHS is required to be sequenced before the LHS. And other complex LHS that were broken out similarly are now turned into COMPOUND_EXPR. This revealed a bug in verify_tree's handling of COMPO

C++ PATCH to get_target_expr and bit-fields

2016-06-24 Thread Jason Merrill
While working on C++17 evaluation order, I noticed that get_target_expr was breaking on bit-fields because it tried to create a temporary object of bit-field type, which doesn't exist in C++. If we copy a bit-field into a temporary it should have the real type of the expression. Tested x86_64-pc-

Re: [PATCH 3/3] Add make autoprofiledbootstrap

2016-06-24 Thread Andi Kleen
> This results in annoying errors in stderr each time make is > performed in non-bootstrapped build (3 times even for each case). > > Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for > trunk? Looks good to me, thanks. -Andi

[PATCH] disable IPA-cp cloning for functions with target_clones attribute

2016-06-24 Thread Evgeny Stupachenko
Hi, Fix ICE when IPA-cp and target_clones are applied to the same function. Is the patch ok for trunk? Thanks, Evgeny 2016-06-24 Evgeny Stupachenko gcc/ * ipa-cp.c (determine_versionability): Do not create constprop clones, when target_clones attribute is set. diff --git a/gc

Re: [PATCH 3/8] nvptx -muniform-simt

2016-06-24 Thread Sandra Loosemore
On 06/22/2016 12:39 PM, Alexander Monakov wrote: Ping. On Mon, 13 Jun 2016, Alexander Monakov wrote: Does the following look better? @item -muniform-simt @opindex muniform-simt Generate code that may keep all lanes in each warp active, even when observable effects from execution must appear as

Re: [PATCHv2, rs6000] Add minimum __float128 built-in support required for glibc

2016-06-24 Thread Segher Boessenkool
On Thu, Jun 23, 2016 at 07:33:34PM -0500, Bill Schmidt wrote: > > For posterity: > > > > Use vspltisw A,N ; vsrw B,A,A ; vslo D,B,A to create in D: > > N=-16 _______ (ieee128 -Inf) > > N=-17 7fff_______ (ieee128 +Inf) > > For the

Re: [PATCHv2q, rs6000] Add minimum __float128 built-in support required for glib

2016-06-24 Thread Segher Boessenkool
On Thu, Jun 23, 2016 at 09:32:13PM -0500, Bill Schmidt wrote: > (I've had some possible mailer problems with previous patches, so > I will try both inserting the patch and providing an attachment. Please > let me know which (if either) is preferable.) Both are quoted-printable, which is just awfu

[committed] Fix bootstrap on i686-linux

2016-06-24 Thread Jakub Jelinek
On Fri, Jun 24, 2016 at 06:22:54PM +0200, Martin Liška wrote: > 2016-06-21 Martin Liska > > * cfgloop.c (flow_loop_dump): Dump average number of loop iterations. > * cfgloop.h: Change 'struct loop' to 'const struct loop' for a > few functions. > * cfgloopanal.c (expected

Re: [patch] preserve DECL_ORIGINAL_TYPE invariant in remap_decl

2016-06-24 Thread Eric Botcazou
> Consider a comment pointing back to the relevant dwarf2 code that > enforces the invariant. I added the comment and installed the patch yesterday, but it breaks the Fortran compiler in some cases because, unlike the C family of compilers or the Ada compiler, the front-end builds TYPE_DECLs wit

[committed] Fix OpenMP simd aligned handling (PR tree-optimization/71647)

2016-06-24 Thread Jakub Jelinek
Hi! The following testcase got broken when we started to test compatibility of argument types of builtins - the fact that omp-low.c emitted e.g. int or various other types for the last argument of the BUILT_IN_ASSUME_ALIGNED builtin now causes it to be ignored. Fixed thusly, bootstrapped/regteste

Re: [PATCH 3/3] Add make autoprofiledbootstrap

2016-06-24 Thread Jakub Jelinek
On Wed, Jun 22, 2016 at 05:37:06AM -0700, Andi Kleen wrote: > gcc/cp/: > > 2016-06-22 Andi Kleen > > * Make-lang.in: Add support for autofdo. ... This results in annoying errors in stderr each time make is performed in non-bootstrapped build (3 times even for each case). Fixed thusly,

[PATCH] Fix up gimple cross-jumping (PR tree-optimization/71643)

2016-06-24 Thread Jakub Jelinek
Hi! My recent change to handle labels (other than forced/non-local) caused ICE on the following testcase, I thought EH pads would always differ with the special stuff in them for each region, but with __builtin_unreachable we can end up with the same bbs, which EH edge redirection isn't able to co

[PATCH] Fix reassociation not to reuse SSA_NAMEs (PR tree-optimization/71631)

2016-06-24 Thread Jakub Jelinek
Hi! rewrite_expr_tree tries to reuse SSA_NAMEs if it knows they hold the same values, which it figures out by setting the changed flag during recursion if some operand is different. But in order for this to work reliably, we need to be started with the right changed value in the outermost call -

Re: [PATCH] Call tls_get_addr via GOT for GNU TLS if possible

2016-06-24 Thread Uros Bizjak
On Fri, Jun 24, 2016 at 5:59 PM, H.J. Lu wrote: > There are extensions to x86-64 psABI: > > https://groups.google.com/forum/#!topic/x86-64-abi/de5_KnLHxtI > > and i386 psABI: > > https://groups.google.com/forum/#!topic/ia32-abi/awsRSvJOJfs > > to call tls_get_addr via GOT. X86 assembler and linke

Re: [PATCH, testsuite]: More fixes in vect testsuite

2016-06-24 Thread Uros Bizjak
On Fri, Jun 24, 2016 at 6:36 PM, Jakub Jelinek wrote: > On Fri, Jun 24, 2016 at 06:34:11PM +0200, Uros Bizjak wrote: >> 2016-06-24 18:14 GMT+02:00 Christophe Lyon : >> > 2016-06-24 17:50 GMT+02:00 Uros Bizjak : >> >> Hello! >> >> >> >> - Remove harmful "dg-do run" directives (run vs. compile is ha

Re: [PATCH, testsuite]: More fixes in vect testsuite

2016-06-24 Thread Jakub Jelinek
On Fri, Jun 24, 2016 at 06:34:11PM +0200, Uros Bizjak wrote: > 2016-06-24 18:14 GMT+02:00 Christophe Lyon : > > 2016-06-24 17:50 GMT+02:00 Uros Bizjak : > >> Hello! > >> > >> - Remove harmful "dg-do run" directives (run vs. compile is handled > >> automatically by the vect.exp infrastructure) > > >

Re: [PATCH, testsuite]: More fixes in vect testsuite

2016-06-24 Thread Uros Bizjak
2016-06-24 18:14 GMT+02:00 Christophe Lyon : > 2016-06-24 17:50 GMT+02:00 Uros Bizjak : >> Hello! >> >> - Remove harmful "dg-do run" directives (run vs. compile is handled >> automatically by the vect.exp infrastructure) > > I thought Jakub disagreed on that :-) Please see this snippet from check_

[PATCH] Dump profile-based number of iterations

2016-06-24 Thread Martin Liška
Hello Following patch dumps # of iterations for loops that iterates with unknown number of iterations and profile is available. The same support is added to contrib/analyze_brprob.py script. Sample output of the script: Loop count: 918 avg. # of iter: 6.29 median # of iter: 8.00 avg. (1%

Re: [PATCH, testsuite]: More fixes in vect testsuite

2016-06-24 Thread Christophe Lyon
2016-06-24 17:50 GMT+02:00 Uros Bizjak : > Hello! > > - Remove harmful "dg-do run" directives (run vs. compile is handled > automatically by the vect.exp infrastructure) I thought Jakub disagreed on that :-) > - Add check_vect for runtime tests > - Remove default vector testsuite compile flags >

[PATCH] Call tls_get_addr via GOT for GNU TLS if possible

2016-06-24 Thread H.J. Lu
There are extensions to x86-64 psABI: https://groups.google.com/forum/#!topic/x86-64-abi/de5_KnLHxtI and i386 psABI: https://groups.google.com/forum/#!topic/ia32-abi/awsRSvJOJfs to call tls_get_addr via GOT. X86 assembler and linker in binutils 2.27 implemented call *__tls_get_addr@GOTPCREL(%

Re: OpenACC wait clause

2016-06-24 Thread Jakub Jelinek
On Fri, Jun 24, 2016 at 08:42:49AM -0700, Cesar Philippidis wrote: > >> @@ -1328,7 +1328,8 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, > >> uint64_t mask, > >> && gfc_match ("wait") == MATCH_YES) > >>{ > >> c->wait = true; > >> -match_oacc_expr_list (" (", &c-

[PATCH, testsuite]: More fixes in vect testsuite

2016-06-24 Thread Uros Bizjak
Hello! - Remove harmful "dg-do run" directives (run vs. compile is handled automatically by the vect.exp infrastructure) - Add check_vect for runtime tests - Remove default vector testsuite compile flags 2016-06-24 Uros Bizjak * gcc.dg/vect/vect-nb-iter-ub-1.c: Remove default vector t

Re: [patch] allow --target=e500v[12]-* in configure

2016-06-24 Thread Jérôme Lambourg
Hello, Anyone to review this proposal? Best regards, - Jerome > An initial patch has been integrated into gnu-config to translate triplets > like > e500v2-*- into powerpc-*-spe.

Re: OpenACC wait clause

2016-06-24 Thread Cesar Philippidis
On 06/17/2016 07:34 AM, Jakub Jelinek wrote: > On Thu, Jun 16, 2016 at 08:22:29PM -0700, Cesar Philippidis wrote: >> --- a/gcc/fortran/openmp.c >> +++ b/gcc/fortran/openmp.c >> @@ -677,7 +677,6 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, uint64_t >> mask, >>&& gfc_match ("async") =

Re: [PATCH] Implement -fdiagnostics-parseable-fixits

2016-06-24 Thread Martin Liška
On 06/22/2016 05:25 AM, David Malcolm wrote: > Clang has an option -fdiagnostics-parseable-fixits, which emits a > machine-readable version of the fixits, for use by IDEs. (The only > IDE I know of that supports this format is Xcode [1]; does anyone > know of other IDEs supporting this? I'd be ve

[PATCH, testsuite]: Use __builtin_nanq in float12-cmp-invalid.c

2016-06-24 Thread Uros Bizjak
2016-06-24 Uros Bizjak * gcc.dg/torture/float128-cmp-invalid.c (main): Use __builtin_nanq. Tested on x86_64-linux-gnu {,-m32} and committed to mainline. Uros. Index: torture/float128-cmp-invalid.c === --- torture/float128-c

Re: [RFT PATCH, i386]: Use options for 32bit targets when checking for 32bit as/ld features

2016-06-24 Thread Uros Bizjak
On Fri, Jun 24, 2016 at 9:09 AM, Rainer Orth wrote: > Hi Uros, > >> This patch uses options for 32bit targets when checking for 32bit >> as/ld features. The patch also groups together these tests, so they >> can reuse a couple of option variables. >> >> 2016-06-23 Uros Bizjak >> >> * confi

[RFC] __atomic_compare_exchange* optimizations (PR middle-end/66867, alternative)

2016-06-24 Thread Jakub Jelinek
On Thu, Jun 23, 2016 at 05:23:21PM +0200, Jakub Jelinek wrote: > Thinking about this again, there could be another option - keep > __atomic_compare_exchange_N in the IL, but under certain conditions (similar > to what the patch uses in fold_builtin_atomic_compare_exchange) for these > builtins igno

Re: [patch] preserve DECL_ORIGINAL_TYPE invariant in remap_decl

2016-06-24 Thread H.J. Lu
On Wed, Jun 22, 2016 at 2:12 AM, Eric Botcazou wrote: > Hi, > > the invariant is that DECL_ORIGINAL_TYPE (t) != TREE_TYPE (t) as pointer value > if t is a TYPE_DECL. It's enforced by the DWARF back-end: > > if (DECL_ORIGINAL_TYPE (decl)) > { > type = DECL_ORIGINAL_TYPE (de

Re: [PATCH][ARM][1/4] Replace uses of int_log2 by exact_log2

2016-06-24 Thread Ramana Radhakrishnan
On 24/05/16 14:25, Kyrill Tkachov wrote: > Hi all, > > The int_log2 function in arm.c is not really useful since we already have a > generic function for calculating > the log2 of HOST_WIDE_INTs. The only difference in functionality is that > int_log2 also asserts that the result > is no greater

Re: [PATCH v2] Allocate constant size dynamic stack space in the prologue

2016-06-24 Thread Dominik Vogt
On Thu, Jun 23, 2016 at 04:48:14PM +0100, Dominik Vogt wrote: > Third version of the patch. Changes: > > * Corrected a typo in a test case comment. > * Verify that stack variable alignment does not force the frame >pointer into existence (with -fomit-frame-pointer) > > The test should hope

Re: [PATCH][ARM][1/4] Replace uses of int_log2 by exact_log2

2016-06-24 Thread Kyrill Tkachov
Ping. Thanks, Kyrill On 16/06/16 10:31, Kyrill Tkachov wrote: Ping. Thanks, Kyrill On 09/06/16 12:04, Kyrill Tkachov wrote: Ping. https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00139.html Thanks, Kyrill On 02/06/16 11:37, Kyrill Tkachov wrote: I wanted to ping this patch, but checking the

Re: [PATCH, vec-tails 08/10] Support loop epilogue masking and low trip count loop vectorization

2016-06-24 Thread Ilya Enkovich
On 16 Jun 18:52, Ilya Enkovich wrote: > 2016-06-15 15:00 GMT+03:00 Richard Biener : > > On Thu, May 19, 2016 at 9:46 PM, Ilya Enkovich > > wrote: > >> Hi, > >> > >> This patch enables vectorization of loop epilogues and low trip count > >> loops using masking. > > > > I wonder why we have the epi

Re: [PATCH, testsuite]: Use dg-additional-flags in vect testsuite

2016-06-24 Thread Uros Bizjak
On Fri, Jun 24, 2016 at 10:28 AM, Christophe Lyon wrote: > On 23 June 2016 at 21:56, Uros Bizjak wrote: >> Hello! >> >> 2016-06-23 Uros Bizjak >> >> * g++.dg/vect/pr33834_2.cc: Use dg-additional-options instead of >> dg-options and remove default vector testsuite compile flags. >>

[PATCH][RTL ifcvt] PR rtl-optimization/71594: ICE in noce_emit_cmove due to mismatched source modes

2016-06-24 Thread Kyrill Tkachov
Hi all, In this PR we get an ICE when trying to emit a conditional move through noce_convert_multiple_sets. The comment in the patch explains the situation but we get a two-instruction sequence like: (insn 20 19 21 3 (set (reg:SI 89 [ _5 ]) (reg:SI 88 [ _4 ])) wice.c:8 82 {*movsi_intern

Re: [PATCH, testsuite]: Use dg-additional-flags in vect testsuite

2016-06-24 Thread Christophe Lyon
On 23 June 2016 at 21:56, Uros Bizjak wrote: > Hello! > > 2016-06-23 Uros Bizjak > > * g++.dg/vect/pr33834_2.cc: Use dg-additional-options instead of > dg-options and remove default vector testsuite compile flags. > * g++.dg/vect/pr33860a.cc: Ditto. > * g++.dg/vect/pr45470-a.cc:

Re: [PATCH, vec-tails 03/10] Support epilogues vectorization with no masking

2016-06-24 Thread Ilya Enkovich
On 17 Jun 10:46, Jeff Law wrote: > On 06/17/2016 08:33 AM, Ilya Enkovich wrote: > >> > >>Hmm, there seems to be a level of indirection I'm missing here. We're > >>smuggling LOOP_VINFO_ORIG_LOOP_INFO around in loop->aux. Ewww. I thought > >>the whole point of LOOP_VINFO_ORIG_LOOP_INFO was to smug

Re: [PATCHv2q, rs6000] Add minimum __float128 built-in support required for glib

2016-06-24 Thread Joseph Myers
On Fri, 24 Jun 2016, Uros Bizjak wrote: > On Fri, Jun 24, 2016 at 9:12 AM, Uros Bizjak wrote: > > >> Once more with feeling... I've revised my v2 patch to rename the > >> functions to __builtin_q rather than __builtin_f128 to avoid > >> the collision with Joseph's work. I've also corrected the

Re: [PATCHv2q, rs6000] Add minimum __float128 built-in support required for glib

2016-06-24 Thread Uros Bizjak
On Fri, Jun 24, 2016 at 9:12 AM, Uros Bizjak wrote: >> Once more with feeling... I've revised my v2 patch to rename the >> functions to __builtin_q rather than __builtin_f128 to avoid >> the collision with Joseph's work. I've also corrected the formatting >> problems that Segher noted with my p

Re: [PATCHv2q, rs6000] Add minimum __float128 built-in support required for glib

2016-06-24 Thread Uros Bizjak
Hello! > Once more with feeling... I've revised my v2 patch to rename the > functions to __builtin_q rather than __builtin_f128 to avoid > the collision with Joseph's work. I've also corrected the formatting > problems that Segher noted with my previous attempt. > > Bootstrapped and tested on po

Re: [RFT PATCH, i386]: Use options for 32bit targets when checking for 32bit as/ld features

2016-06-24 Thread Rainer Orth
Hi Uros, > This patch uses options for 32bit targets when checking for 32bit > as/ld features. The patch also groups together these tests, so they > can reuse a couple of option variables. > > 2016-06-23 Uros Bizjak > > * configure.ac (HAVE_AS_GOTOF_IN_DATA): Use $as_ix86_gas_32_opt to >