Re: [PATCH] Add attribute((target_clone(...))) to PowerPC

2017-05-31 Thread Michael Meissner
On Wed, May 31, 2017 at 06:33:37PM -0400, Michael Meissner wrote: > Here is the updated version of the target_clone attribute support. > > The changes include: > > 1) Change the order of the CLONE priority list from default being 0 to ISA 3.0 > being the highest (and eliminating the enum and

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

2017-05-31 Thread Jason Merrill
On 05/27/2017 06:44 PM, Martin Sebor wrote: + /* True if the class is trivial and has a trivial non-deleted copy + assignment, copy ctor, and default ctor, respectively. The last + one isn't used to issue warnings but only to decide what suitable + alternatives to offer as

Re: [Patch, fortran] PR35339 Optimize implied do loops in io statements

2017-05-31 Thread Bernhard Reutner-Fischer
On 31 May 2017 at 21:03, Nicolas Koenig wrote: > Hello Dominique, > > attached is the next try, this time without stupidities (I hope). Both test > cases you posted don't ICE anymore. > > Ok for trunk? Please check contrib/check_GNU_style.sh /tmp/p8.diff and let me

Re: [PATCH] Add attribute((target_clone(...))) to PowerPC

2017-05-31 Thread Michael Meissner
Here is the updated version of the target_clone attribute support. The changes include: 1) Change the order of the CLONE priority list from default being 0 to ISA 3.0 being the highest (and eliminating the enum and casts). 2) I tried to fix the various spacing issues. I found one place further

Re: [gofrontend-dev] [PATCH] Porting gccgo on sparc64-linux

2017-05-31 Thread Ian Lance Taylor
On Wed, May 31, 2017 at 1:39 PM, wrote: > From: Vladimir Mezentsev > > Tested on sparc64-linux-gnu. 7243 tests passed > > 2017-05-31 Vladimir Mezentsev > > * libgo/go/runtime/lfstack_64bit.go

Re: [PATCH rs6000] Addition fixes to BMI intrinsic tests, 3rd edition

2017-05-31 Thread Segher Boessenkool
Hi! On Wed, May 31, 2017 at 12:35:57PM -0500, Steven Munroe wrote: > Index: gcc/testsuite/gcc.target/powerpc/bmi2-pext64-1a.c > === > --- gcc/testsuite/gcc.target/powerpc/bmi2-pext64-1a.c (revision 248468) > +++

[PATCH] rs6000: Don't write "nor" as (not (ior () ())) (PR80618)

2017-05-31 Thread Segher Boessenkool
The canonical RTL for "nor" is (and (not ()) (not ())), and that is indeed what we use in boolccv2df3_internal1. So, the splitter for *vector_uneq should use that form, not (not (ior () ())), which does not match any pattern. Tested on powerpc64-linux {-m32,-m64}, and tested the pr50310-2.c

Re: {PATCH] New C++ warning -Wcatch-value

2017-05-31 Thread Jason Merrill
On Tue, May 30, 2017 at 2:14 AM, Volker Reichelt wrote: > On 24 May, Jason Merrill wrote: >> On Mon, May 15, 2017 at 3:58 PM, Martin Sebor wrote: So how about the following then? I stayed with the catch part and added a parameter to the

Re: [PATCH] DWARF: for variants, produce unsigned discr. when debug type is unsigned

2017-05-31 Thread Jason Merrill
On 05/30/2017 05:06 AM, Pierre-Marie de Rodat wrote: Hello, In Ada, the Character type is supposed to be unsigned. However, depending on the sign of C char types, GNAT can materialize it as a signed type for code generation purposes. When this is the case, GNAT also attach a debug type to it

Re: [C++ PATCH] PR c++/80812

2017-05-31 Thread Jason Merrill
On 05/25/2017 05:29 AM, Ville Voutilainen wrote: Tested on Linux-x64, running full suite on Linux-ppc64. It seems fitting to put the test into the library tests, we don't have separate tests on the front-end side for __is_constructible, so I think adding such would be a separate job. 2017-05-25

Re: Default std::vector default and move constructor

2017-05-31 Thread François Dumont
On 31/05/2017 12:34, Jonathan Wakely wrote: Well in general the is_nothrow_default_constructible trait also tells you if the type is default-constructible at all, but the form above won't compile if it isn't default-constructible. In this specific case it doesn't matter, because that

[PATCH, rs6000] Fold vector shifts in GIMPLE

2017-05-31 Thread Will Schmidt
Hi, Add support for early expansion of vector shifts. Including vec_sl (shift left), vec_sr (shift right), vec_sra (shift right algebraic), vec_rl (rotate left). Part of this includes adding the vector shift right instructions to the list of those instructions having an unsigned second

[PATCH, rs6000] Fold vector logicals (eqv) in GIMPLE

2017-05-31 Thread Will Schmidt
Hi, Add support for early expansion of vector eqv built-ins. Bootstraps currently running. OK for trunk? Thanks, -Will [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for

[PATCH, rs6000] fold vector min/max in GIMPLE

2017-05-31 Thread Will Schmidt
Hi, (resending with folks on CC, apologies to anyone having deja-vu) Add support for early expansion of vec_min, vec_max built-ins. Bootstraps currently running. OK for trunk? Thanks, -Will [gcc] 2017-05-26 Will Schmidt * config/rs6000/rs6000.c

[PATCH v2, rs6000] Fold vector absolutes in GIMPLE

2017-05-31 Thread Will Schmidt
Hi, Add support for early expansion of vector absolute built-ins. [V2] Per reviews and feedback, skip the early folding for integral types based on a check against TYPE_OVERFLOW_WRAPS(arg0). Added test variants to exercise the -fwrapv option during this folding. OK for trunk? (bootstraps

Re: Optimisation of std::binary_search of the header

2017-05-31 Thread Mike Stump
On May 31, 2017, at 12:33 AM, jay pokarna wrote: > >Could you tell the way as to how can I measure the time taken > by my algorithm and compare it with the inbuilt functions ? No, that's beyond our charter. We review patches for gcc. I'd recommend google, it

Re: [Patch, fortran] PR35339 Optimize implied do loops in io statements

2017-05-31 Thread Nicolas Koenig
Hello Dominique, attached is the next try, this time without stupidities (I hope). Both test cases you posted don't ICE anymore. Ok for trunk? Nicolas Regression tested for x86_64-pc-linux-gnu. Changelog (still the same): 2017-05-27 Nicolas Koenig PR

Re: [C++ Patch] PR 80896 ("[[nodiscard]] is ignored for functions returning references")

2017-05-31 Thread Jason Merrill
OK. On Wed, May 31, 2017 at 8:04 AM, Paolo Carlini wrote: > Hi, > > this one appears to be a rather simple case of missing diagnostic: in > convert_to_void we aren't calling maybe_warn_nodiscard when we strip an > INDIRECT_REF wrapping a CALL_EXPR thus we don't issue

[PATCH, i386]: Allow direct XMM->GR zero extensions for 32bit targets

2017-05-31 Thread Uros Bizjak
Hello! Attached patch allows direct XMM->GR zero extensions for 32bit targets. This insn will be split after reload to a direct XMM->lowpart(GR) move and 0->highpart(GR) zeroing. 2017-05-31 Uros Bizjak * config/i386/i386.md (*zero_extendsidi2): Enable alternative (?r,

Re: [PATCH][x86] Add missing mask intrinsics for MAX[SD,SS] and MIN[SD,SS]

2017-05-31 Thread Uros Bizjak
On Tue, May 30, 2017 at 4:29 PM, Peryt, Sebastian wrote: > Hi, > > This patch adds missing intrinsics for MAX[SD,SS] and MIN[SD,SS] listed below: > - _mm_mask_max_sd, > - _mm_maskz_max_sd, > - _mm_mask_max_ss, > - _mm_maskz_max_ss, > > - _mm_mask_min_sd, > -

Re: [PATCH, rs6000] fold-vec-logical-ors-longlong test update

2017-05-31 Thread Segher Boessenkool
On Fri, May 26, 2017 at 12:20:05PM -0500, Will Schmidt wrote: > This test has been flaky on both AIX and in older linux based > environments. Notably, the number of xxlor instructions > generated varies depending on the platform and the specified > bit-size (32/64), with older environments

[PATCH rs6000] Addition fixes to BMI intrinsic tests, 3rd edition

2017-05-31 Thread Steven Munroe
Bill Seurer pointed out that building the BMI tests on a power8 but with gcc built --with-cpu=power6 fails with link errors. The intrinsics _pdep_u64/32 and _pext_u64/32 are guarded with #ifdef _ARCH_PWR7 as the implementation uses bpermd and popcntd instructions introduced with power7

Re: [C++ PATCH] lang_decl selector & decomposition

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 01:16:36PM -0400, Nathan Sidwell wrote: > On 05/31/2017 01:05 PM, Jakub Jelinek wrote: > > > That is weird, that sounds like a bug somewhere? Which testcase is it on? > > I think decomp25 & decomp7 & 8 (sorry, can't recall full name). > I discovered them because my first

Re: [C++ PATCH] lang_decl selector & decomposition

2017-05-31 Thread Nathan Sidwell
On 05/31/2017 01:05 PM, Jakub Jelinek wrote: That is weird, that sounds like a bug somewhere? Which testcase is it on? I think decomp25 & decomp7 & 8 (sorry, can't recall full name). I discovered them because my first attempt had an assert that the incoming base was the same as the stored

C++ PATCH for c++/80840, ICE with constexpr and reference template parm

2017-05-31 Thread Jason Merrill
In convert_nontype_argument to reference type we were inappropriately checking value_dependent_expression_p on an expression that might be a VAR_DECL and might be a TEMPLATE_PARM_INDEX of reference type. It's inappropriate in the former case because we don't care about the value of the object,

Re: [C++ PATCH] lang_decl selector & decomposition

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 12:54:24PM -0400, Nathan Sidwell wrote: > This patch reworks how decl_decomposition is marked. With the new > lang_decl_decomp struct, the selector grew another used but -- which > affected me on the modules branch. however, we can use that use selector > value in place

[C++ PATCH] lang_decl selector & decomposition

2017-05-31 Thread Nathan Sidwell
This patch reworks how decl_decomposition is marked. With the new lang_decl_decomp struct, the selector grew another used but -- which affected me on the modules branch. however, we can use that use selector value in place of the decompostion_p bitfield. This patch makes that change, but it

Re: SSA range class and removal of VR_ANTI_RANGEs

2017-05-31 Thread Richard Biener
On May 31, 2017 6:28:26 PM GMT+02:00, Jakub Jelinek wrote: >On Wed, May 31, 2017 at 05:36:12PM +0200, Richard Biener wrote: >> On May 31, 2017 5:10:04 PM GMT+02:00, Jakub Jelinek > wrote: >> >On Wed, May 31, 2017 at 10:20:51AM -0400, Aldy Hernandez wrote: >> >>

[C++ PATCH] using directive

2017-05-31 Thread Nathan Sidwell
I've committed this new testcase, from the modules branch. Something that got fixed in the name-lookup change. nathan -- Nathan Sidwell 2017-05-31 Nathan Sidwell * g++.dg/lookup/lambda1.C New. Index: testsuite/g++.dg/lookup/lambda1.C

Re: [PATCH 6/7] [ARC] Prevent moving stores to the frame before the stack adjustment.

2017-05-31 Thread Andrew Burgess
* Claudiu Zissulescu [2017-05-19 12:31:01 +0200]: > From: Claudiu Zissulescu > > If the stack pointer is needed, emit a special barrier that will prevent > the scheduler from moving stores to the frame before the stack adjustment. > >

Re: SSA range class and removal of VR_ANTI_RANGEs

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 05:36:12PM +0200, Richard Biener wrote: > On May 31, 2017 5:10:04 PM GMT+02:00, Jakub Jelinek wrote: > >On Wed, May 31, 2017 at 10:20:51AM -0400, Aldy Hernandez wrote: > >> The biggest number of SSA_NAMEs I saw was actually 472,225. Of > >these, > >>

Re: [PATCH 7/7] [ARC] Test against frame_pointer_needed in arc_can_eliminate.

2017-05-31 Thread Andrew Burgess
* Claudiu Zissulescu [2017-05-19 12:31:02 +0200]: > arc_can_eliminate is using arc_frmae_pointer_required() which is wrong > as the frame_pointer_needed can be set on different conditions. Fix it > by calling arc_frame_pointer_needed(). > > gcc/ > 2017-01-09

Re: [Patch, fortran] PR35339 Optimize implied do loops in io statements

2017-05-31 Thread Dominique d'Humières
> Le 31 mai 2017 à 17:40, Dominique d'Humières a écrit : > > If I am not mistaken, compiling the following code with the patch applied simpler test print *,(huge(0),i=1,6) ! print*,(i,i=1,6) ! print*,(i,i=1,6,1) end > > gives an ICE. > > TIA > >

Re: [Patch, fortran] PR35339 Optimize implied do loops in io statements

2017-05-31 Thread Dominique d'Humières
If I am not mistaken, compiling the following code with the patch applied program test_ivs use iso_varying_string implicit none type(varying_string),dimension(:,:),allocatable :: array2d type(varying_string) :: extra integer :: i,j allocate(array2d(2,3)) extra = "four"

Re: [PATCH 5/7] [ARC] Update (non)commutative_binary_comparison patterns.

2017-05-31 Thread Andrew Burgess
* Claudiu Zissulescu [2017-05-19 12:31:00 +0200]: > gcc/ > 2016-12-20 Claudiu Zissulescu > > * config/arc/arc.md (commutative_binary_comparison): Remove 'I' > constraint. It is not valid for the pattern. >

Re: [PATCH, GCC/ARM/gcc-7-branch] Backport PR71607

2017-05-31 Thread Prakhar Bahuguna
On 31/05/2017 14:11:43, Richard Sandiford wrote: > Prakhar Bahuguna writes: > > On 31/05/2017 09:19:40, Richard Sandiford wrote: > >> const_ints are supposed to be stored in sign-extended form, so a 32-bit > >> integer with the MSB set should be 0x8000|x

Re: SSA range class and removal of VR_ANTI_RANGEs

2017-05-31 Thread Richard Biener
On May 31, 2017 5:10:04 PM GMT+02:00, Jakub Jelinek wrote: >On Wed, May 31, 2017 at 10:20:51AM -0400, Aldy Hernandez wrote: >> The biggest number of SSA_NAMEs I saw was actually 472,225. Of >these, >> 357,032 were non-pointers, so could conceivably have range >information. In

Re: [PATCH 4/7] [ARC] Change predicate movv2hi to avoid scaled addresses.

2017-05-31 Thread Andrew Burgess
* Claudiu Zissulescu [2017-05-19 12:30:59 +0200]: > From: Claudiu Zissulescu > > 2016-12-17 Claudiu Zissulescu > > * config/arc/simdext.md (movv2hi_insn): Change predicate to avoid > scaled addresses.

Re: [PATCH] Rename __builtin_ia32_kmov16 to __builtin_ia32_kmovw in gcc-{5,6}-branch

2017-05-31 Thread Uros Bizjak
On Wed, May 31, 2017 at 12:33 PM, Senkevich, Andrew wrote: > Hi, > > attached patches are for renaming __builtin_ia32_kmov16 to > __builtin_ia32_kmovw in GCC 5.* and 6.* branches since it was renamed in > master. > Bootstrapped and regtested on x86_64-linux-gnu. > >

Re: SSA range class and removal of VR_ANTI_RANGEs

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 10:20:51AM -0400, Aldy Hernandez wrote: > The biggest number of SSA_NAMEs I saw was actually 472,225. Of these, > 357,032 were non-pointers, so could conceivably have range information. In > reality, 77,398 had range information, so 16% of all pointer and non-pointer >

Re: [PATCH 3/7] [ARC] Allow r30 to be used by the reg-alloc.

2017-05-31 Thread Andrew Burgess
* Claudiu Zissulescu [2017-05-19 12:30:58 +0200]: > gcc/ > 2016-12-12 Claudiu Zissulescu > > * config/arc/arc.c (arc_conditional_register_usage): Allow r30 to > be used by the reg-alloc. Looks good, thanks, Andrew > ---

Re: [PATCH 2/7] [ARC] Avoid use of hard registers before reg-alloc.

2017-05-31 Thread Andrew Burgess
* Claudiu Zissulescu [2017-05-19 12:30:57 +0200]: > gcc/ > 2017-04-10 Claudiu Zissulescu > > * config/arc/arc.md (mulsi3): Avoid use of hard registers before > reg-alloc when having mul64 or mul32x16 instructions. >

Re: [PATCH 4/5 v3] Vect peeling cost model

2017-05-31 Thread Christophe Lyon
On 31 May 2017 at 16:27, Robin Dapp wrote: >> Since this commit (r248678), I've noticed regressions on some arm targets. >> Executed from: gcc.dg/tree-ssa/tree-ssa.exp >> gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect "Alignment >> of access forced using

Re: [PATCH 4/5 v3] Vect peeling cost model

2017-05-31 Thread Robin Dapp
> Since this commit (r248678), I've noticed regressions on some arm targets. > Executed from: gcc.dg/tree-ssa/tree-ssa.exp > gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect "Alignment > of access forced using peeling" 1 > gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect >

Re: SSA range class and removal of VR_ANTI_RANGEs

2017-05-31 Thread Aldy Hernandez
On 05/23/2017 08:11 AM, Jakub Jelinek wrote: On Tue, May 23, 2017 at 06:48:15AM -0400, Aldy Hernandez wrote: [ughh, one more time, but CCing the list.] Sorry, for the delayed response. I was fighting with Firefox + LTO to gather some data :). I'm worried a lot here about compile time

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
On 05/31/2017 03:31 PM, Richard Biener wrote: > On Wed, May 31, 2017 at 2:28 PM, Martin Liška wrote: >> On 05/31/2017 02:04 PM, Richard Biener wrote: >>> On Wed, May 31, 2017 at 1:51 PM, Jakub Jelinek wrote: On Wed, May 31, 2017 at 01:46:00PM +0200, Richard

Re: [PATCH] Port Doxygen support script from Perl to Python; add unittests

2017-05-31 Thread Martin Liška
..adding missing patch >From 3021b695a8111e1552176529ab3342cdd2ae3a43 Mon Sep 17 00:00:00 2001 From: marxin Date: Wed, 3 May 2017 11:42:41 +0200 Subject: [PATCH] Doxygen: add default location for filters and output folder. contrib/ChangeLog: 2017-05-03 Martin Liska

Re: [PATCH] Port Doxygen support script from Perl to Python; add unittests

2017-05-31 Thread Martin Liška
Hi. This is patch which removes legacy perl scripts and set default values for both OUTPUT_DIRECTORY and INPUT_FILTER. Ready for trunk? Thanks, Martin

[PATCH] Fix PR66313

2017-05-31 Thread Richard Biener
So I've come back to PR66313 and found a solution to the tailrecursion missed optimization when fixing the factoring folding to use an unsigned type when we're not sure of overflow. The folding part is identical to my last try from 2015, the tailrecursion part makes us handle intermittent stmts

[PATCH] Port Doxygen support script from Perl to Python; add unittests

2017-05-31 Thread Martin Liška
Hello. After discussion with Richi, he approved to install patches separately to current perl scripts. I'm attaching these patches and I will send patch that will remove the legacy Perl scripts. The patch will be subject for normal review process. Thanks Martin >From

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

2017-05-31 Thread Ramana Radhakrishnan
On Wed, May 31, 2017 at 3:02 PM, Richard Biener wrote: > On Wed, May 31, 2017 at 3:56 PM, Will Schmidt > wrote: >> On Tue, 2017-05-30 at 09:00 +0200, Richard Biener wrote: >>> On Mon, May 29, 2017 at 2:21 PM, Segher Boessenkool >>>

Re: [PATCH] Optimize divmod expansion (PR middle-end/79665)

2017-05-31 Thread Georg-Johann Lay
On 31.05.2017 11:00, Jakub Jelinek wrote: On Wed, May 31, 2017 at 10:48:07AM +0200, Georg-Johann Lay wrote: because divmod in not a single_set: (gdb) p seq $10 = (const rtx_insn *) 0x7730d500 (gdb) pr warning: Expression is not an assignment (and might have no effect) (insn 14 13 0

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

2017-05-31 Thread Richard Biener
On Wed, May 31, 2017 at 3:56 PM, Will Schmidt wrote: > On Tue, 2017-05-30 at 09:00 +0200, Richard Biener wrote: >> On Mon, May 29, 2017 at 2:21 PM, Segher Boessenkool >> wrote: >> > On Mon, May 29, 2017 at 01:35:22PM +0200, Richard Biener

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

2017-05-31 Thread Will Schmidt
On Tue, 2017-05-30 at 09:00 +0200, Richard Biener wrote: > On Mon, May 29, 2017 at 2:21 PM, Segher Boessenkool > wrote: > > On Mon, May 29, 2017 at 01:35:22PM +0200, Richard Biener wrote: > >> >> What's the documented behavior for vec_abs with respect to an > >>

Re: [PATCH 4/5 v3] Vect peeling cost model

2017-05-31 Thread Christophe Lyon
Hi, On 23 May 2017 at 17:59, Robin Dapp wrote: > gcc/ChangeLog: > > 2017-05-23 Robin Dapp > > * tree-vect-data-refs.c (vect_get_data_access_cost): > Workaround for SLP handling. > (vect_enhance_data_refs_alignment): >

Re: [PATCH] Fix configure.ac to respect --{enable,disable}-werror option.

2017-05-31 Thread Richard Biener
On Wed, May 31, 2017 at 3:31 PM, Martin Liška wrote: > Hi. > > One has to set stage2_werror_flags in action-if-{not,}-given > in order to properly respect the configure option. > > Ready to be installed? Ok. Richard. > Martin

Re: [PATCH TEST]Rectify test case gcc.dg/tree-ssa/ivopt_mult_4.c

2017-05-31 Thread Richard Biener
On Wed, May 31, 2017 at 2:43 PM, Bin.Cheng wrote: > On Fri, May 26, 2017 at 12:49 PM, Richard Biener > wrote: >> On Thu, May 25, 2017 at 8:00 PM, Bin Cheng wrote: >>> Hi, >>> I believe this tests has been wrongly modified

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Richard Biener
On Wed, May 31, 2017 at 2:28 PM, Martin Liška wrote: > On 05/31/2017 02:04 PM, Richard Biener wrote: >> On Wed, May 31, 2017 at 1:51 PM, Jakub Jelinek wrote: >>> On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote: Just wanting to add that

[PATCH] Fix configure.ac to respect --{enable,disable}-werror option.

2017-05-31 Thread Martin Liška
Hi. One has to set stage2_werror_flags in action-if-{not,}-given in order to properly respect the configure option. Ready to be installed? Martin >From 77244d330010b2a17ca81fc866e2904e2f3fece0 Mon Sep 17 00:00:00 2001 From: marxin Date: Wed, 31 May 2017 15:27:05 +0200 Subject:

Re: [PATCH] Fix expand_builtin_atomic_fetch_op for pre-op (PR80902)

2017-05-31 Thread Segher Boessenkool
Ping. (Sorry for the very aggressive ping; this fixes 764 testsuite failures on powerpc-linux). Segher On Sun, May 28, 2017 at 12:31:12PM +, Segher Boessenkool wrote: > __atomic_add_fetch adds a value to some memory, and returns the result. > If there is no direct support for this,

Re: [PATCH, GCC/ARM/gcc-7-branch] Backport PR71607

2017-05-31 Thread Richard Sandiford
Prakhar Bahuguna writes: > On 31/05/2017 09:19:40, Richard Sandiford wrote: >> const_ints are supposed to be stored in sign-extended form, so a 32-bit >> integer with the MSB set should be 0x8000|x instead of >> 0x8000|x. It's a bug if you have one where

Re: [PATCH, GCC/ARM/gcc-7-branch] Backport PR71607

2017-05-31 Thread Prakhar Bahuguna
On 31/05/2017 09:19:40, Richard Sandiford wrote: > const_ints are supposed to be stored in sign-extended form, so a 32-bit > integer with the MSB set should be 0x8000|x instead of > 0x8000|x. It's a bug if you have one where that isn't true. > > In the patch it looks like this

[PATCH] PR libstdc++/80893 Fix null dereference in vector

2017-05-31 Thread Jonathan Wakely
vector does addressof(*ptr) where ptr is returned by allocate(n), but if n==0 that pointer might not be dereferencable. While testing the fix I also found some bugs in the __gnu_test::PointerBase helper that needed correcting. PR libstdc++/80893 * include/bits/stl_bvector.h

Re: [PATCH TEST]Rectify test case gcc.dg/tree-ssa/ivopt_mult_4.c

2017-05-31 Thread Bin.Cheng
On Fri, May 26, 2017 at 12:49 PM, Richard Biener wrote: > On Thu, May 25, 2017 at 8:00 PM, Bin Cheng wrote: >> Hi, >> I believe this tests has been wrongly modified previously. It is to test >> that the exit check on >> pointer shouldn't be

Re: [PATCH 1/2] Port Doxygen support script from Perl to Python; add unittests

2017-05-31 Thread Martin Liška
On 04/28/2017 02:03 PM, Martin Liška wrote: > You were not brave enough to port remaining pattern in > contrib/filter_knr2ansi.pl, > right :) ? Well. It shows the script just screws up many places and I bet we don't have many KNR2 declarations (if any). I'm attaching diff how it transforms

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
On 05/31/2017 02:04 PM, Richard Biener wrote: > On Wed, May 31, 2017 at 1:51 PM, Jakub Jelinek wrote: >> On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote: >>> Just wanting to add that "ab-"using options/variables to implement >>> what are really >>> function

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
On 05/31/2017 02:06 PM, Richard Biener wrote: > On Wed, May 31, 2017 at 2:01 PM, Jakub Jelinek wrote: >> On Wed, May 31, 2017 at 01:57:48PM +0200, Martin Liška wrote: >>> On 05/31/2017 01:51 PM, Jakub Jelinek wrote: On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener

[PATCH] Fix PR80880

2017-05-31 Thread Richard Biener
Approved by Ilya in the PR. Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2017-05-31 Richard Biener PR target/80880 * config/i386/i386.c (ix86_expand_builtin): Remove assert for arg being an SSA name when expanding

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Richard Biener
On Wed, May 31, 2017 at 2:01 PM, Jakub Jelinek wrote: > On Wed, May 31, 2017 at 01:57:48PM +0200, Martin Liška wrote: >> On 05/31/2017 01:51 PM, Jakub Jelinek wrote: >> > On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote: >> >> Just wanting to add that "ab-"using

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Richard Biener
On Wed, May 31, 2017 at 1:51 PM, Jakub Jelinek wrote: > On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote: >> Just wanting to add that "ab-"using options/variables to implement >> what are really >> function attributes doesn't look very clean. Unless the plan is to

[C++ Patch] PR 80896 ("[[nodiscard]] is ignored for functions returning references")

2017-05-31 Thread Paolo Carlini
Hi, this one appears to be a rather simple case of missing diagnostic: in convert_to_void we aren't calling maybe_warn_nodiscard when we strip an INDIRECT_REF wrapping a CALL_EXPR thus we don't issue the diagnostic that we normally provide for plain CALL_EXPRs (eg, for a func returning a

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 01:57:48PM +0200, Martin Liška wrote: > On 05/31/2017 01:51 PM, Jakub Jelinek wrote: > > On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote: > >> Just wanting to add that "ab-"using options/variables to implement > >> what are really > >> function attributes

[build] Support --sysroot with Solaris ld

2017-05-31 Thread Rainer Orth
The Solaris linker recently gained sysroot support. The following patch enables that, although there isn't much to do: * Until recently, ld --help output went to stderr, not being caught by gcc/configure's tests which only checked stdout. However, older ld versions still differ here and

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
On 05/31/2017 01:51 PM, Jakub Jelinek wrote: > On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote: >> Just wanting to add that "ab-"using options/variables to implement >> what are really >> function attributes doesn't look very clean. Unless the plan is to get rid >> of >> function

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
On 05/31/2017 01:46 PM, Richard Biener wrote: > On Wed, May 31, 2017 at 1:33 PM, Jakub Jelinek wrote: >> On Wed, May 31, 2017 at 01:24:47PM +0200, Martin Liška wrote: >>> On 05/31/2017 10:35 AM, Jakub Jelinek wrote: On Wed, May 31, 2017 at 10:04:53AM +0200, Martin Liška

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 01:46:00PM +0200, Richard Biener wrote: > Just wanting to add that "ab-"using options/variables to implement > what are really > function attributes doesn't look very clean. Unless the plan is to get rid of > function attributes in favor of per-function options. Function

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Richard Biener
On Wed, May 31, 2017 at 1:33 PM, Jakub Jelinek wrote: > On Wed, May 31, 2017 at 01:24:47PM +0200, Martin Liška wrote: >> On 05/31/2017 10:35 AM, Jakub Jelinek wrote: >> > On Wed, May 31, 2017 at 10:04:53AM +0200, Martin Liška wrote: >> >> diff --git a/gcc/common.opt

[OBVIOUS][PATCH] Fix typo in a comment in cpuid.h (PR target/79155).

2017-05-31 Thread Martin Liška
Hello. Installing as obvious as it only touches comment. Martin >From 4b0eebe5accdc7aa0782acccdd61a151c0a48378 Mon Sep 17 00:00:00 2001 From: marxin Date: Wed, 31 May 2017 13:35:41 +0200 Subject: [PATCH] Fix typo in a comment in cpuid.h (PR target/79155). gcc/ChangeLog:

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 01:24:47PM +0200, Martin Liška wrote: > On 05/31/2017 10:35 AM, Jakub Jelinek wrote: > > On Wed, May 31, 2017 at 10:04:53AM +0200, Martin Liška wrote: > >> diff --git a/gcc/common.opt b/gcc/common.opt > >> index 13305558d2d..5e9942d5100 100644 > >> --- a/gcc/common.opt > >>

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
On 05/31/2017 10:31 AM, Alexander Monakov wrote: > On Wed, 31 May 2017, Martin Liška wrote: >> I added to common.opt: >> Common RejectNegative Joined UInteger Var(flag_no_sanitize_fn) PerFunction >> No sanitize flags for a function > > This needs a period at the end ("for a function."). Ah, I

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
On 05/31/2017 10:35 AM, Jakub Jelinek wrote: > On Wed, May 31, 2017 at 10:04:53AM +0200, Martin Liška wrote: >> diff --git a/gcc/common.opt b/gcc/common.opt >> index 13305558d2d..5e9942d5100 100644 >> --- a/gcc/common.opt >> +++ b/gcc/common.opt >> @@ -222,9 +222,13 @@ bool flag_opts_finished >>

Re: [PATCH 4/4 v3][PR 67328] Optimize some masked comparisons to efficient bittest

2017-05-31 Thread Richard Biener
On Mon, 29 May 2017, Yuri Gribov wrote: > This no longer fixes the PR but still works in some cases as > demonstrated by the test. So I decided to keep it. As Richard noticed you don't need widest_ints but can use wide_ints. Please use == 0 instead of ! on wide-ints as well. +(for cmp (le gt) +

Re: [PATCH 2/4 v3][PR 67328] Analyze some bit tests in VRP

2017-05-31 Thread Richard Biener
On Mon, 29 May 2017, Yuri Gribov wrote: > This improve VRP handling for bitfield comparisons added by previous patch. > > -I +is_masked_range_test (tree name, tree valt, enum tree_code cond_code, bool is_else_edge, + tree *new_name, long line + wide_int mask = maskt, +

Re: Default std::vector default and move constructor

2017-05-31 Thread Jonathan Wakely
On 28/05/17 22:13 +0200, François Dumont wrote: Sure but like freedom which stop where start others' freedom so does those requirements :-). Because the Standard says that an allocator will be value-init when there is no default-init it makes usage of the C++11 default constructor more

Re: Default std::vector default and move constructor

2017-05-31 Thread Jonathan Wakely
On 29/05/17 22:55 +0200, François Dumont wrote: Hi It wasn't such a big deal to restore value-init of the allocator. So here is the updated patch. I used: _Bvector_impl() _GLIBCXX_NOEXCEPT_IF( noexcept(_Bit_alloc_type()) ) rather than using is_nothrow_default_constructible.

Re: [PATCH][x86][PR73350][PR80862]

2017-05-31 Thread Kirill Yukhin
On 31 May 11:38, Kirill Yukhin wrote: > Hello Julia, > On 26 May 09:13, Koval, Julia wrote: > > Hi, > > This patch fixes these PR's. Ok for trunk? > > > > gcc/ > > * config/i386/subst.md (round): Fix round pattern. > > * config/i386/i386.c (ix86_erase_embedded_rounding): > > Fix

[PATCH] Rename __builtin_ia32_kmov16 to __builtin_ia32_kmovw in gcc-{5,6}-branch

2017-05-31 Thread Senkevich, Andrew
Hi, attached patches are for renaming __builtin_ia32_kmov16 to __builtin_ia32_kmovw in GCC 5.* and 6.* branches since it was renamed in master. Bootstrapped and regtested on x86_64-linux-gnu. gcc/ * config/i386/i386.c (__builtin_ia32_kmovw): Renamed from __builtin_ia32_kmov16

[arm-embedded] Enable Purecode for ARMv8-M Baseline

2017-05-31 Thread Prakhar Bahuguna
We have decided to apply the following patch to ARM/embedded-7-branch and ARM/embedded-6-branch to enable Purecode support for ARMv8-M Baseline targets. ChangeLog: 2017-05-31 Prakhar Bahuguna Backport from mainline 2017-05-04 Prakhar Bahuguna

Re: [PATCH 9/13] D: D2 Testsuite Dejagnu files.

2017-05-31 Thread Matthias Klose
On 30.05.2017 16:32, Mike Stump wrote: > On May 28, 2017, at 2:16 PM, Iain Buclaw wrote: >> >> This patch adds D language support to the GCC test suite. > > Ok. If you could ensure that gcc without D retains all it's goodness and > that gcc with D works on 2 different

Re: [PATCH 2/2] DWARF: make it possible to emit debug info for declarations only

2017-05-31 Thread Pierre-Marie de Rodat
On 05/31/2017 09:34 AM, Richard Biener wrote: Actually for the bigger picture I'd refactor rest_of_decl_compilation, not calling it from the frontends but rely on finalize_decl/function. The missing part would then be calling the dwarf hook which should eventually be done at some of the places

Re: [PATCH] Optimize divmod expansion (PR middle-end/79665)

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 10:48:07AM +0200, Georg-Johann Lay wrote: > > > because divmod in not a single_set: > > > (gdb) p seq > > > $10 = (const rtx_insn *) 0x7730d500 > > > (gdb) pr > > > warning: Expression is not an assignment (and might have no effect) > > > (insn 14 13 0 (parallel [ > > >

Re: [PATCH] Optimize divmod expansion (PR middle-end/79665)

2017-05-31 Thread Georg-Johann Lay
On 31.05.2017 10:15, Jakub Jelinek wrote: On Wed, May 31, 2017 at 10:06:34AM +0200, Georg-Johann Lay wrote: Hi, this causes a performance degradation for avr. When optimizing for speed, and with a known denominatior, then v6 uses s/umulMM3_highpart insn to avoid division because no div

Re: [PATCH][x86][PR73350][PR80862]

2017-05-31 Thread Kirill Yukhin
Hello Julia, On 26 May 09:13, Koval, Julia wrote: > Hi, > This patch fixes these PR's. Ok for trunk? > > gcc/ > * config/i386/subst.md (round): Fix round pattern. > * config/i386/i386.c (ix86_erase_embedded_rounding): > Fix erasing rounding for the fixed pattern. > > Thanks, >

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 10:04:53AM +0200, Martin Liška wrote: > diff --git a/gcc/common.opt b/gcc/common.opt > index 13305558d2d..5e9942d5100 100644 > --- a/gcc/common.opt > +++ b/gcc/common.opt > @@ -222,9 +222,13 @@ bool flag_opts_finished > Variable > unsigned int flag_sanitize > > +### >

Re: [PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Alexander Monakov
On Wed, 31 May 2017, Martin Liška wrote: > I added to common.opt: > Common RejectNegative Joined UInteger Var(flag_no_sanitize_fn) PerFunction > No sanitize flags for a function This needs a period at the end ("for a function."). > FAIL: compiler driver --help=optimizers option(s): "^

[PATCH, Committed] Add self to MAINTAINERS

2017-05-31 Thread Prakhar Bahuguna
I have added myself to the Write After Approval section of the MAINTAINERS list. ChangeLog: 2017-05-31 Prakhar Bahuguna * MAINTAINERS: Add self to Write After Approval -- Prakhar Bahuguna

Re: [PATCH, GCC/ARM/gcc-7-branch] Backport PR71607

2017-05-31 Thread Richard Sandiford
Prakhar Bahuguna writes: > This patch tackles the issue reported in PR71607. This patch takes a different > approach for disabling the creation of literal pools. Instead of disabling the > patterns that would normally transform the rtl into actual literal pools, it >

Re: [PATCH] Optimize divmod expansion (PR middle-end/79665)

2017-05-31 Thread Jakub Jelinek
On Wed, May 31, 2017 at 10:06:34AM +0200, Georg-Johann Lay wrote: > Hi, this causes a performance degradation for avr. > > When optimizing for speed, and with a known denominatior, then v6 uses > s/umulMM3_highpart insn to avoid division because no div instruction is > available. > > unsigned

Re: [PATCH] Optimize divmod expansion (PR middle-end/79665)

2017-05-31 Thread Georg-Johann Lay
On 23.02.2017 06:59, Jeff Law wrote: On 02/22/2017 02:40 PM, Jakub Jelinek wrote: Hi! If both arguments of integer division or modulo are known to be non-negative in corresponding signed type, then signed as well as unsigned division/modulo shall have the exact same result and therefore we can

[PATCH v2] Implement no_sanitize function attribute

2017-05-31 Thread Martin Liška
Hi. Having a discussion with Jakub on IRC, I decided to implement it in a bit different way: I added to common.opt: Common RejectNegative Joined UInteger Var(flag_no_sanitize_fn) PerFunction No sanitize flags for a function and this per function flag is used to save no_sanitize values, then

  1   2   >