[PATCH] Make mempcpy more optimal (PR middle-end/70140).

2017-07-19 Thread Martin Liška
Hello. Following patch does sharing of expansion for mem{p,}cpy and also strpcy (with a known constant as source) so that we use same type of expansion (direct insns emission, direct emission with a loop instruction and library call). As mentioned in the PR, glibc does not provide an optimized

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 07/08 V2

2017-07-19 Thread Jeff Law
On 07/19/2017 11:53 AM, Wilco Dijkstra wrote: > Hi Jeff, > > There is an issue with your AArch64 patch, it fails to apply properly and does > so silently using 'patch'. I also noticed some odd control characters in the > other > patches, but they didn't appear to fail (or at least everything buil

Re: [PATCH, rs6000] 2/2 Add x86 MMX intrinsics DG tests to GCC PPC64LE taget

2017-07-19 Thread Segher Boessenkool
Hi Steve, On Wed, Jul 19, 2017 at 10:14:01AM -0500, Steven Munroe wrote: > This it part 2/2 for contributing PPC64LE support for X86 MMX > instrisics. This patch adds the DG tests to verify the headers contents. > Oddly there are very few MMX specific included in i386 so I had to adapt > some the

Re: [PATCH v2] Add no_tail_call attribute

2017-07-19 Thread Yuri Gribov
On Wed, Jul 19, 2017 at 8:19 PM, Alexander Monakov wrote: > On Wed, 19 Jul 2017, Yuri Gribov wrote: >> So to reiterate, your logic here is that someone would wipe dlsym type >> (e.g. by casting to void *), then later cast to another type which >> lacks tailcall attribute. So proposed solution won'

Re: [PATCH] PR libstdc++/81064 fix versioned namespace

2017-07-19 Thread François Dumont
Here is the revisited version passing all tests successfully except 2 that are also failing without the patch: FAIL: 21_strings/basic_string/modifiers/insert/char/1.cc execution test FAIL: 21_strings/basic_string/modifiers/insert/wchar_t/1.cc execution test This is a rather mechanical change exc

Re: [PATCH v2] Add no_tail_call attribute

2017-07-19 Thread Alexander Monakov
On Wed, 19 Jul 2017, Alexander Monakov wrote: > > The one and only advantage of attribute compared to Jakubs approach > > (or yours, they share the same idea of wrapping dlsym calls) is that > > it forces user to carry it around when taking address of function. > > It's an inconvenience. People w

Re: [PATCH] PR libstdc++/81476 Optimise vector insertion from input iterators

2017-07-19 Thread Marc Glisse
On Wed, 19 Jul 2017, Jonathan Wakely wrote: The PR shows a fairly pathological case where ranges of InputIterators are repeatedly inserted at the start of a vector. Each insertion from an InputIterator moves every element after the insertion point by a single position. So if we insert 1000 eleme

Re: [PATCH] Fix libquadmath regression (bootstrap failure) on FreeBSD

2017-07-19 Thread Gerald Pfeifer
On Wed, 19 Jul 2017, Jakub Jelinek wrote: >> This fixes it. Okay to apply to GCC? > Ok, thanks. Thanks for the quick response, Jakub! > glibc uses u_int32_t in all the places of *powl.c where libquadmath > uses uint32_t, and various other files, so I guess it is intentional. Ah, I see. I guess

[PATCH] PR libstdc++/81476 Optimise vector insertion from input iterators

2017-07-19 Thread Jonathan Wakely
The PR shows a fairly pathological case where ranges of InputIterators are repeatedly inserted at the start of a vector. Each insertion from an InputIterator moves every element after the insertion point by a single position. So if we insert 1000 elements at the start we move each existing element

Re: [PATCH] Fix libquadmath regression (bootstrap failure) on FreeBSD

2017-07-19 Thread Jakub Jelinek
On Wed, Jul 19, 2017 at 09:35:36PM +0200, Gerald Pfeifer wrote: > Hi Jakub, > > r250343 | jakub | 2017-07-19 13:12:58 + (Wed, 19 Jul 2017) | 48 lines > > PR libquadmath/65757 > * quadmath-imp.h (math_opt_barrier, math_force_eval, > math_narrow_eval, math_check_force

[PATCH] Fix libquadmath regression (bootstrap failure) on FreeBSD

2017-07-19 Thread Gerald Pfeifer
Hi Jakub, r250343 | jakub | 2017-07-19 13:12:58 + (Wed, 19 Jul 2017) | 48 lines PR libquadmath/65757 * quadmath-imp.h (math_opt_barrier, math_force_eval, math_narrow_eval, math_check_force_underflow, math_check_force_underflow_nonneg): Define. * math

Re: [PATCH], Update cpu-builtin-1.c test on PowerPC

2017-07-19 Thread Michael Meissner
On Wed, Jul 19, 2017 at 12:33:03PM -0500, Segher Boessenkool wrote: > On Tue, Jul 18, 2017 at 04:24:47PM -0400, Michael Meissner wrote: > > This patch modifies the change I made on July 12th. It modifies the test > > for > > the __builtin_cpu_is and __builtin_cpu_supports built-in functions to us

Re: [PATCH v2] Add no_tail_call attribute

2017-07-19 Thread Alexander Monakov
On Wed, 19 Jul 2017, Yuri Gribov wrote: > So to reiterate, your logic here is that someone would wipe dlsym type > (e.g. by casting to void *), then later cast to another type which > lacks tailcall attribute. So proposed solution won't protect against > situation like this. No, it's not "my logic

Re: [PATCH 1/2] simplify-rtx: The truncation of an IOR can have all bits set (PR81423)

2017-07-19 Thread Segher Boessenkool
On Wed, Jul 19, 2017 at 12:19:32AM -0600, Jeff Law wrote: > On 07/18/2017 01:36 PM, Segher Boessenkool wrote: > > ... if it is an IOR with a constant with all bits set in the mode > > that is truncated to, for example. Handle that case. > > > > With this patch the problematic situation for the PR

Re: [PATCH v2] Add no_tail_call attribute

2017-07-19 Thread Yuri Gribov
On Wed, Jul 19, 2017 at 4:30 PM, Alexander Monakov wrote: > On Wed, 19 Jul 2017, Jeff Law wrote: >> > Glibc people were worried that attribute would be lost when taking a >> > pointer to function >> > (https://sourceware.org/ml/libc-alpha/2017-01/msg00482.html). I think >> > their reasoning was th

Re: [PATCH] PR libstdc++/81395 fix crash when write follows large read

2017-07-19 Thread Paolo Carlini
Hi, On 19/07/2017 02:17, Jonathan Wakely wrote: This fixes a crash that happens in std::filebuf when a large read consumes the entire get area and is followed by a write, which is then synced to the file by a call to overflow. The problem is that xsgetn calls _M_set_buffer(0) after reading from

Re: [RFC/SCCVN] Handle BIT_INSERT_EXPR in vn_nary_op_eq

2017-07-19 Thread Richard Biener
On July 19, 2017 6:10:28 PM GMT+02:00, Andrew Pinski wrote: >On Mon, Jul 17, 2017 at 3:02 AM, Richard Biener > wrote: >> On Thu, Jul 13, 2017 at 6:18 AM, Andrew Pinski >wrote: >>> On Wed, Jul 12, 2017 at 9:10 PM, Marc Glisse >wrote: On Wed, 12 Jul 2017, Andrew Pinski wrote: > Hi, >

Re: [PATCH rs6000] Fix up BMI/BMI2 intrinsic DG tests

2017-07-19 Thread Steven Munroe
On Wed, 2017-07-19 at 12:45 -0500, Segher Boessenkool wrote: > On Tue, Jul 18, 2017 at 05:10:42PM -0500, Steven Munroe wrote: > > On Tue, 2017-07-18 at 16:54 -0500, Segher Boessenkool wrote: > > > On Mon, Jul 17, 2017 at 01:28:20PM -0500, Steven Munroe wrote: > > > > After a resent GCC change the p

Re: [PATCH][RFA/RFC] Stack clash mitigation patch 07/08 V2

2017-07-19 Thread Wilco Dijkstra
Hi Jeff, There is an issue with your AArch64 patch, it fails to apply properly and does so silently using 'patch'. I also noticed some odd control characters in the other patches, but they didn't appear to fail (or at least everything builds). Anyway with -Ofast -static the overall codesize incr

Re: [PATCH rs6000] Fix up BMI/BMI2 intrinsic DG tests

2017-07-19 Thread Segher Boessenkool
On Tue, Jul 18, 2017 at 05:10:42PM -0500, Steven Munroe wrote: > On Tue, 2017-07-18 at 16:54 -0500, Segher Boessenkool wrote: > > On Mon, Jul 17, 2017 at 01:28:20PM -0500, Steven Munroe wrote: > > > After a resent GCC change the previously submitted BMI/BMI2 intrinsic > > > test started to fail wit

Re: [PATCH], Update cpu-builtin-1.c test on PowerPC

2017-07-19 Thread Segher Boessenkool
On Tue, Jul 18, 2017 at 04:24:47PM -0400, Michael Meissner wrote: > This patch modifies the change I made on July 12th. It modifies the test for > the __builtin_cpu_is and __builtin_cpu_supports built-in functions to use an > #ifdef instead of target-requires for doing the tests. One motavation i

Re: [PATCH v2] Add no_tail_call attribute

2017-07-19 Thread Alexander Monakov
On Wed, 19 Jul 2017, Jakub Jelinek wrote: > > 1) recognize dlsym by name and suppress tailcalls to it > > > >this would solve >99% cases because calling dlsym by pointer would be > > rare, > >and has the benefit of not requiring libc header changes; > > Recognizing by name is IMNSHO unde

[committed] Fix assert in gimple_phi_set_arg

2017-07-19 Thread Tom de Vries
Hi, this patch makes an assert in gimple_phi_set_arg more strict. The current assert allows 'index == phi->nargs'. While it's true that there are access functions that currently use the nargs..(capacity-1) inclusive range, this is not one of them (and if it was, the condition should be 'index

Re: [PATCH] enhance -Wrestrict for sprintf %s arguments

2017-07-19 Thread Martin Sebor
On 07/19/2017 12:42 AM, Jeff Law wrote: On 07/02/2017 02:00 PM, Martin Sebor wrote: The attached patch enhances the -Wrestrict warning to detect more than just trivial instances of overlapping copying by sprintf and related functions. The meat of the patch is relatively simple but because it in

Re: [RFC/SCCVN] Handle BIT_INSERT_EXPR in vn_nary_op_eq

2017-07-19 Thread Andrew Pinski
On Mon, Jul 17, 2017 at 3:02 AM, Richard Biener wrote: > On Thu, Jul 13, 2017 at 6:18 AM, Andrew Pinski wrote: >> On Wed, Jul 12, 2017 at 9:10 PM, Marc Glisse wrote: >>> On Wed, 12 Jul 2017, Andrew Pinski wrote: >>> Hi, Unlike most other expressions, BIT_INSERT_EXPR has an implicit >>

Re: [patch] Fix Unwind support on DragonFly BSD after sigtramp move

2017-07-19 Thread Jonathan Wakely
On 18/07/17 23:50 -0600, Jeff Law wrote: On 07/07/2017 05:17 PM, John Marino wrote: Right after DragonFly 4.8 was released (27 Mar 2017), the signal trampoline was moved (twice) in response to a Ryzen bug. This broke GCC's unwind support for DragonFly. To avoid hardcoding the sigtramp location

Re: [PATCH][GCC][AArch64] optimize float immediate moves (1 /4) - infrastructure.

2017-07-19 Thread James Greenhalgh
On Mon, Jun 26, 2017 at 11:49:42AM +0100, Tamar Christina wrote: > Hi All, > > I've updated patch accordingly. > > This mostly involves removing the loop to create the ival > and removing the *2 code and instead defaulting to 64bit > and switching to 128 when needed. > > Regression tested on aar

[PATCH] Fix indentation in std::basic_filebuf member functions

2017-07-19 Thread Jonathan Wakely
There's some weird indentation in with lines that start with a single space, followed by tabs. * include/bits/fstream.tcc (basic_filebuf::xsgetn) (basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation. Committed to trunk. commit 75d2341eb014f38c3d0e18469dddb6d32ce23a1

Re: [PATCH, AArch64] Add RDMA support to Falkor.

2017-07-19 Thread Jim Wilson
Ping^2 On Tue, Jul 11, 2017 at 1:49 PM, Jim Wilson wrote: > Ping. > > Jim > > On Thu, Jun 29, 2017 at 1:53 PM, Jim Wilson wrote: >> Falkor is an ARMV8-A part, but also includes the RDMA extension from >> ARMV8.1-A. >> I'd like to enable support for the RDMA instructions when -mcpu=falkor is >>

[committed] Fix assert in gimple_phi_arg

2017-07-19 Thread Tom de Vries
Hi, this patch makes an assert in gimple_phi_arg more strict. The current assert allows 'index == phi_stmt->capacity', but 'phi_stmt->args[phi_stmt->capacity]' is out of bounds. Bootstrapped and reg-tested on x86_64. Committed as obvious. Thanks, - Tom Fix assert in gimple_phi_arg 2017-07-

Re: [PATCH v2] Add no_tail_call attribute

2017-07-19 Thread Jakub Jelinek
On Wed, Jul 19, 2017 at 06:30:40PM +0300, Alexander Monakov wrote: > On Wed, 19 Jul 2017, Jeff Law wrote: > > > Glibc people were worried that attribute would be lost when taking a > > > pointer to function > > > (https://sourceware.org/ml/libc-alpha/2017-01/msg00482.html). I think > > > their reas

Re: [PATCH v2] Add no_tail_call attribute

2017-07-19 Thread Alexander Monakov
On Wed, 19 Jul 2017, Jeff Law wrote: > > Glibc people were worried that attribute would be lost when taking a > > pointer to function > > (https://sourceware.org/ml/libc-alpha/2017-01/msg00482.html). I think > > their reasoning was that return address is a shadow argument for > > dlsym-like functio

[PATCH, rs6000] 2/2 Add x86 MMX intrinsics DG tests to GCC PPC64LE taget

2017-07-19 Thread Steven Munroe
This it part 2/2 for contributing PPC64LE support for X86 MMX instrisics. This patch adds the DG tests to verify the headers contents. Oddly there are very few MMX specific included in i386 so I had to adapt some the SSE tested to smaller vector size. [gcc/testsuite] 2017-07-18 Steven Munroe

Re: [PATCH] Fix selftest::read_file for empty file

2017-07-19 Thread Jakub Jelinek
On Wed, Jul 19, 2017 at 04:54:31PM +0200, Marek Polacek wrote: > > --- a/gcc/selftest.c > > +++ b/gcc/selftest.c > > @@ -192,7 +192,14 @@ read_file (const location &loc, const char *path) > >fclose (f_in); > > > >/* 0-terminate the buffer. */ > > + if (total_sz == 0) > > +{ > > +

Re: [PATCH] Fix selftest::read_file for empty file

2017-07-19 Thread Marek Polacek
On Wed, Jul 19, 2017 at 10:49:33AM -0400, David Malcolm wrote: > selftest::read_file currently assumes it has a non-empty file; > when loading an empty file it dies with an assertion failure, > or a write through NULL if assertions are disabled. > > This patch fixes this case, removing this limita

Re: C PATCH to display types when printing a conversion warning (PR c/81233)

2017-07-19 Thread David Malcolm
On Thu, 2017-07-13 at 16:18 +0200, Marek Polacek wrote: > This patch improves diagnostic in the C FE by printing the types when > reporting > a problem with a conversion. E.g., instead of > >warning: assignment from incompatible pointer type > > you'll now get > > warning: assignment to

Re: [PATCH] Fix selftest::read_file for empty file

2017-07-19 Thread Jeff Law
On 07/19/2017 08:49 AM, David Malcolm wrote: > selftest::read_file currently assumes it has a non-empty file; > when loading an empty file it dies with an assertion failure, > or a write through NULL if assertions are disabled. > > This patch fixes this case, removing this limitation. > > Success

[PATCH] Fix indentation in libstdc++ testsuite utils

2017-07-19 Thread Jonathan Wakely
* testsuite/util/testsuite_iterators.h: Fix indentation. Committed to trunk. commit 91f442428d2d7acc583aa437fa5e835fe2044af0 Author: Jonathan Wakely Date: Wed Jul 19 15:47:11 2017 +0100 Fix indentation in libstdc++ testsuite utils * testsuite/util/testsuite_iterators

Re: [PATCH] match.pd: reassociate multiplications with constants

2017-07-19 Thread Alexander Monakov
On Wed, 19 Jul 2017, Richard Biener wrote: > >> --- a/gcc/match.pd > >> +++ b/gcc/match.pd > >> @@ -283,6 +283,20 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > >> || mul != wi::min_value (TYPE_PRECISION (type), SIGNED)) > >> { build_zero_cst (type); }) > >> > >> +/* Combine successiv

Re: Fix Eh delivery in partitioned functions

2017-07-19 Thread Richard Biener
On Wed, 19 Jul 2017, Jan Hubicka wrote: > > Did you see the inline comments? > > I missed them, sorry :) > This is updated patch I am testing. Ok with adding + maybe_add_nop_after_section_switch (); in pass_convert_to_eh_region_ranges::execute instead. Richard. > Index: except.c > =

Re: Fix Eh delivery in partitioned functions

2017-07-19 Thread Jan Hubicka
> Did you see the inline comments? I missed them, sorry :) This is updated patch I am testing. Index: except.c === --- except.c(revision 250312) +++ except.c(working copy) @@ -2444,6 +2444,61 @@ emit_note_eh_region_end (rtx_i

[PATCH] Fix selftest::read_file for empty file

2017-07-19 Thread David Malcolm
selftest::read_file currently assumes it has a non-empty file; when loading an empty file it dies with an assertion failure, or a write through NULL if assertions are disabled. This patch fixes this case, removing this limitation. Successfully bootstrapped®rtested on x86_64-pc-linux-gnu; takes -f

[PATCH] Fix PR61171

2017-07-19 Thread Richard Biener
The following fixes another case of missed reduction vectorization, namely when we failed to associate a chain with mixed plus/minus (thus it isn't detected as SLP reduction chain). The thing is set up in a way that it should be straight forward to enable more valid chains (one more is in the que

Re: Fix Eh delivery in partitioned functions

2017-07-19 Thread Richard Biener
On Wed, 19 Jul 2017, Jan Hubicka wrote: > > On Wed, 19 Jul 2017, Jan Hubicka wrote: > > > > > > > I think we could just output from generic code - I think it can be > > > > > done by > > > > > final_scan_insn. I don't know however if we have a way to tell if the > > > > > section > > > > > star

Re: Fix Eh delivery in partitioned functions

2017-07-19 Thread Jan Hubicka
> On Wed, 19 Jul 2017, Jan Hubicka wrote: > > > > > I think we could just output from generic code - I think it can be done > > > > by > > > > final_scan_insn. I don't know however if we have a way to tell if the > > > > section > > > > starts with a landing pad? > > > > > > Not sure either --

Re: Fix Eh delivery in partitioned functions

2017-07-19 Thread Richard Biener
On Wed, 19 Jul 2017, Jan Hubicka wrote: > > > I think we could just output from generic code - I think it can be done by > > > final_scan_insn. I don't know however if we have a way to tell if the > > > section > > > starts with a landing pad? > > > > Not sure either -- some insn note / bb note?

Re: [PATCH] Fix infinite recursion with div-by-zero (PR middle-end/70992)

2017-07-19 Thread Marek Polacek
On Wed, Jul 19, 2017 at 12:45:12PM +0200, Richard Biener wrote: > On Tue, Jul 18, 2017 at 6:05 PM, Marek Polacek wrote: > > We ended up in infinite recursion between extract_muldiv_1 and > > fold_plusminus_mult_expr, because one turns this expression into the other > > and the other does the rever

Re: [PATCH] Rename TYPE_{MIN,MAX}VAL

2017-07-19 Thread Nathan Sidwell
On 07/19/2017 09:46 AM, Jakub Jelinek wrote: This broke bootstrap everywhere. I'll try to bootstrap/regtest following: 2017-07-19 Jakub Jelinek * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE, TYPE_GCC_MIN_VALUE): Use TYPE_MIN_VALUE_RAW instead of TYPE_MINVAL. (T

Re: [PATCH] Rename TYPE_{MIN,MAX}VAL

2017-07-19 Thread Jakub Jelinek
On Wed, Jul 19, 2017 at 08:02:27AM -0400, Nathan Sidwell wrote: > 2017-07-19 Nathan Sidwell > > gcc/ > * tree.h (TYPE_MINVAL, TYPE_MAXVAL): Rename to ... > (TYPE_MIN_VALUE_RAW, TYPE_MAX_VALUE_RAW): ... these. > * tree.c (find_decls_types_r, verify_type): Use > TYPE

[C++ PATCH] move assign/ctor detection

2017-07-19 Thread Nathan Sidwell
As mentioned yesterday, classtype_has_move_assign_or_move_ctor & classtype_has_user_move_assign_or_move_ctor_p have stunningly similar functionality. This patch merges them to provide classtype_has_move_assign_or_move_ctor_p. committed to trunk. nathan -- Nathan Sidwell 2017-07-19 Nathan Si

Re: Fix Eh delivery in partitioned functions

2017-07-19 Thread Jan Hubicka
> > I think we could just output from generic code - I think it can be done by > > final_scan_insn. I don't know however if we have a way to tell if the > > section > > starts with a landing pad? > > Not sure either -- some insn note / bb note? Some flag on the label? > At least the latter shoul

Re: [PATCH] Rename TYPE_{MIN,MAX}VAL

2017-07-19 Thread Nathan Sidwell
On 07/19/2017 06:28 AM, Richard Biener wrote: On Tue, Jul 18, 2017 at 5:19 PM, Nathan Sidwell wrote: Looks good but now we have TYPE_MAX_VALUE and TYPE_MAXVAL_RAW. Why's that not TYPE_MAX_VALUE_RAW? I named TYPE_MAXVAL_RAW from the underlying field, but I'm fine with TYPE_MAX_VALUE_RAW --

Re: [PATCH] match.pd: reassociate multiplications with constants

2017-07-19 Thread Richard Biener
On Wed, Jul 19, 2017 at 1:28 PM, Richard Biener wrote: > On Tue, Jul 18, 2017 at 7:07 PM, Alexander Monakov wrote: >> On Mon, 17 Jul 2017, Alexander Monakov wrote: >>> On Mon, 17 Jul 2017, Marc Glisse wrote: >>> > > +/* Combine successive multiplications. Similar to above, but handling >>> > > +

Re: C/C++ PATCH to add __typeof_noqual (PR c/65455, c/39985)

2017-07-19 Thread Marek Polacek
On Thu, Jun 29, 2017 at 10:35:26AM -0600, Martin Sebor wrote: > On 06/29/2017 09:56 AM, Joseph Myers wrote: > > On Wed, 28 Jun 2017, Martin Sebor wrote: > > > > > > The more limited interfaces could, of course, be __typeof_noqual in some > > > > form. > > > > > > Actually, despite what I've been

Re: [PATCH] match.pd: reassociate multiplications with constants

2017-07-19 Thread Richard Biener
On Tue, Jul 18, 2017 at 7:07 PM, Alexander Monakov wrote: > On Mon, 17 Jul 2017, Alexander Monakov wrote: >> On Mon, 17 Jul 2017, Marc Glisse wrote: >> > > +/* Combine successive multiplications. Similar to above, but handling >> > > + overflow is different. */ >> > > +(simplify >> > > + (mult

Re: [PATCH] Implement one optimization from build_range_check in match.pd (PR tree-optimization/81346)

2017-07-19 Thread Richard Biener
On Tue, 18 Jul 2017, Jakub Jelinek wrote: > Hi! > > The following patch implements the: > /* Optimize (c>=1) && (c<=127) into (signed char)c > 0. */ > if (integer_onep (low) && TREE_CODE (high) == INTEGER_CST) > { > int prec = TYPE_PRECISION (etype); > > if (wi::mask (prec -

Re: [PATCH] Implement one optimization from build_range_check in match.pd (PR tree-optimization/81346)

2017-07-19 Thread Richard Biener
On Tue, 18 Jul 2017, Jakub Jelinek wrote: > On Tue, Jul 18, 2017 at 10:47:37AM -0600, Martin Sebor wrote: > > On 07/18/2017 09:43 AM, Jakub Jelinek wrote: > > > On Tue, Jul 18, 2017 at 09:31:11AM -0600, Martin Sebor wrote: > > > > > --- gcc/match.pd.jj 2017-07-17 16:25:20.0 +0200 > > > >

Re: [PATCH] Fix infinite recursion with div-by-zero (PR middle-end/70992)

2017-07-19 Thread Richard Biener
On Tue, Jul 18, 2017 at 6:05 PM, Marek Polacek wrote: > We ended up in infinite recursion between extract_muldiv_1 and > fold_plusminus_mult_expr, because one turns this expression into the other > and the other does the reverse: > > ((2147483648 / 0) * 2) + 2 <-> 2 * (2147483648 / 0 + 1) > > I tr

Re: [PATCH] Move fold_div_compare optimization to match.pd (PR tree-optimization/81346)

2017-07-19 Thread Richard Biener
On Tue, 18 Jul 2017, Jakub Jelinek wrote: > On Tue, Jul 18, 2017 at 05:21:42PM +0200, Marc Glisse wrote: > > On Tue, 18 Jul 2017, Jakub Jelinek wrote: > > > > > +/* X / C1 op C2 into a simple range test. */ > > > +(for cmp (simple_comparison) > > > + (simplify > > > + (cmp (trunc_div:s @0 INTEG

Re: [PATCH] Move fold_div_compare optimization to match.pd (PR tree-optimization/81346)

2017-07-19 Thread Richard Biener
On Tue, 18 Jul 2017, Jakub Jelinek wrote: > Hi! > > The following patch moves the fold_div_compare optimization from > generic folding only in fold-const.c to match.pd, so that it can be > excersized also when optimizing GIMPLE. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for t

Re: [PATCH] Rename TYPE_{MIN,MAX}VAL

2017-07-19 Thread Richard Biener
On Tue, Jul 18, 2017 at 5:19 PM, Nathan Sidwell wrote: > As I mentioned in my previous patch, we currently have TYPE_{MIN,MAX}_VALUES > for numeric types and TYPE_{MIN,MAX}VAL for type-agnostic access. > > This patch renames the latter to TYPE_{MIN,MAX}VAL_RAW, matching > TYPE_VALUES_RAW, which ha

Re: [PATCH] TYPE_{MIN,MAX}VAL and TYPE_{MIN,MAX}_VALUE

2017-07-19 Thread Richard Biener
On Tue, Jul 18, 2017 at 3:25 PM, Nathan Sidwell wrote: > We currently have both TYPE_{MIN,MAX}VAL and TYPE_{MIN,MAX}_VALUE pairs of > accessors. This is confusing. The former is the tree-agnostic raw field > accessor, which I propose renaming TYPE_{MIN,MAX}VAL_RAW, as is common with > other raw

Re: [PATCH] Remove a Java-specific hunk.

2017-07-19 Thread Richard Biener
On Tue, Jul 18, 2017 at 1:33 PM, Martin Liška wrote: > Hello. > > After we reverted both hunks in gimplify.c, I've just tested with > --enable-languages=all > that attached patch works. > > May I ask you Eric to fix comment in: > > /* The operand may be a void-valued expression such as SAVE

Re: [PATCH] Remove redundant semicolons from libstdc++ headers

2017-07-19 Thread Jonathan Wakely
On 19/07/17 09:37 +0200, Volker Reichelt wrote: Hi, the following patch removes redundant semicolons after in-class member function definitions from libstdc++-v3 headers. These semicolons trigger warnings if you compile the respective headers with "-Wextra-semi -Wsystem-headers". Nice. Boots

Re: C PATCH to display types when printing a conversion warning (PR c/81233)

2017-07-19 Thread Marek Polacek
On Fri, Jul 14, 2017 at 02:02:34PM -0600, Martin Sebor wrote: > Just to be clear: I don't mean to suggest to do this in this patch > or necessarily even for this warning. I'm not even sure to what > extent it might be doable. I mention it mostly as food for thought. Sure, and it makes sense (whe

[PATCH] Add macro DISABLE_COPY_AND_ASSIGN

2017-07-19 Thread Yao Qi
We have many classes that copy cotr and assignment operator are deleted in different projects, gcc, gdb and gold. So this patch adds a macro to do this, and replace these existing mechanical code with macro DISABLE_COPY_AND_ASSIGN. The patch was posted in gdb-patches, https://sourceware.org/ml/gd

[PATCH] Remove redundant semicolons from libstdc++ headers

2017-07-19 Thread Volker Reichelt
Hi, the following patch removes redundant semicolons after in-class member function definitions from libstdc++-v3 headers. These semicolons trigger warnings if you compile the respective headers with "-Wextra-semi -Wsystem-headers". Bootstrapped and regtested on x86_64-pc-linux-gnu. OK for trunk?