Re: [PATCH][RFC] Sanitize equals and hash functions in hash-tables.

2019-05-13 Thread Martin Liška
On 11/8/18 9:56 AM, Martin Liška wrote: > On 11/7/18 11:23 PM, Jeff Law wrote: >> On 10/30/18 6:28 AM, Martin Liška wrote: >>> On 10/30/18 11:03 AM, Jakub Jelinek wrote: On Mon, Oct 29, 2018 at 04:14:21PM +0100, Martin Liška wrote: > +hashtab_chk_error () > +{ > + fprintf

Re: [RFC] SHIFT_COUNT_TRUNCATED and shift_truncation_mask

2019-05-13 Thread Richard Sandiford
Robin Dapp writes: >>> Bit tests on x86 also truncate [1], if the bit base operand specifies >>> a register, and we don't use BT with a memory location as a bit base. >>> I don't know what is referred with "(real or pretended) bit field >>> operations" in the documentation for

Re: [PATCH][PR89341]Fix ICE on function definition with weakref/alias attributes attached

2019-05-13 Thread JunMa
在 2019/3/26 下午7:40, JunMa 写道: Hi According to gnu document of function attributes, neither weakref nor alias could be attached to a function defined in current translation unit. Although GCC checks the attributes under some circumstances, it still fails on some cases and even causes ICE.

[PATCH] PR fortran/89100 Default widths for i, f and g format specifiers in format strings

2019-05-13 Thread Mark Eggleston
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89100 see comment 4 Please can someone commit the attached patch as I do not have commit rights. Change logs: For gcc/fortran     Jeff Law      Mark Eggleston      PR fortran/89100     * gfortran.texi: Add Default widths for F, G and I format

Re: Mention lerp and midpoint in the libstdc++ status.

2019-05-13 Thread Jonathan Wakely
On 10/05/19 23:12 -0400, Ed Smith-Rowland via libstdc++ wrote: No complete patch because we could just accumulate a few of these. Thanks. I've committed it to trunk and gcc-9-branch, because I'm probably going to be regenerating the HTML again soon. Index: doc/xml/manual/status_cxx2020.xml

Remove obsolete Solaris 10 support

2019-05-13 Thread Rainer Orth
With the GCC 9.1 release out of the door, this patch implements the removal of Solaris 10 support that had been obsoleted in GCC 9. The patch is mostly straightforward: * removing Solaris 10-only code and documentation, * simplifying configure triplets, using *-*-solaris2* everywhere since

[PATCH GCC]Simplify if-then-else in slsr cand_vect

2019-05-13 Thread bin.cheng
Hi, While working on other PR, I noticed that we can save lots of if-then-else in accessing cand_vec by placing an additional NULL element at front of it. Bootstrap and test on x86_64. Is it OK? Thanks, bin 2019-05-13 Bin Cheng * gimple-ssa-strength-reduction.c (lookup_cand):

Re: [ada, build] Avoid cp -p failures during Ada make install

2019-05-13 Thread Arnaud Charlet
> > No, this is not OK. > > > > I'd rather keep the simple current logic and either stick to cp -p, or > > use a proper $(INSTALL_whatever) as done elsewhere rather than adding more > > kludges. > > how do you mean, `proper $(INSTALL_whatever)'? Using e.g. INSTALL_DATA from configure. > I've

[PATCH] Handle VIEW_CONVERT_EXPR in SLP vectorization

2019-05-13 Thread Richard Biener
Another pick from the branch. Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. >From 7a2cf96fb0846d1fde52e11f9c1501f1ae70a94d Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Mon, 21 Jan 2019 16:15:02 +0100 Subject: [PATCH] add-slp-vce-support *

Re: Remove obsolete Solaris 10 support

2019-05-13 Thread Rainer Orth
Hi Jonathan, > On 13/05/19 13:39 +0200, Rainer Orth wrote: >> libstdc++-v3: >> * config/os/solaris/solaris2.10: Move to ... >> * config/os/solaris: ... this. >> * configure.host (os_include_dir): Adapt. >> (abi_baseline_pair): Remove Solaris 10 handling. >> *

Re: [PATCH] [aarch64] Introduce flags for SVE2.

2019-05-13 Thread Richard Sandiford
Sorry for the slow reply. Matthew Malcomson writes: > @@ -326,16 +326,18 @@ int opt_ext_cmp (const void* a, const void* b) > turns on as a dependency. As an example +dotprod turns on FL_DOTPROD > and > FL_SIMD. As such the set of bits represented by this option is >

Re: [PATCH] Improve API docs for and

2019-05-13 Thread Jonathan Wakely
On 13/05/19 14:02 +0200, Christophe Lyon wrote: Hi Jonathan, On Fri, 10 May 2019 at 23:41, Jonathan Wakely wrote: More Doxygenation. Tested powerpc64le-linux. Committed to trunk. You've probably noticed by now, but this introduced a regression (!): FAIL: g++.dg/cpp0x/Wattributes1.C

Re: [PATCH GCC]Simplify if-then-else in slsr cand_vect

2019-05-13 Thread Richard Biener
On Mon, May 13, 2019 at 1:39 PM bin.cheng wrote: > > Hi, > While working on other PR, I noticed that we can save lots of if-then-else in > accessing > cand_vec by placing an additional NULL element at front of it. > > Bootstrap and test on x86_64. Is it OK? Nice. OK. Richard. > Thanks, >

Re: [ada, build] Avoid cp -p failures during Ada make install

2019-05-13 Thread Rainer Orth
Hi Arnaud, >> Tested on x86_64-pc-linux-gnu installing both to a local filesystem and >> an NFSv3 filesystem. >> >> Ok for mainline (and the gcc-9 and gcc-8 branches eventually)? > > No, this is not OK. > > I'd rather keep the simple current logic and either stick to cp -p, or > use a proper

Re: Fwd: [Patch] Fix assembler invocation on sparc-sun-solaris2

2019-05-13 Thread Rainer Orth
Hi Bence, > I tried building a cross-compiler for `sparc-sun-solaris2`, but the > resulting GCC executable wouldn't compile anything, always failing > with: "as: unrecognized option '-m32'". After extensive research, I > found that `as` takes `--32`/`--64`, instead of `-m32`/`-m64`. The > patched

Re: [PATCH][PR89341]Fix ICE on function definition with weakref/alias attributes attached

2019-05-13 Thread JunMa
在 2019/5/13 下午5:02, Jakub Jelinek 写道: On Mon, May 13, 2019 at 04:53:52PM +0800, JunMa wrote: According to gnu document of function attributes, neither weakref nor alias could be attached to a function defined in current translation unit. Although GCC checks the attributes under some

Re: [PATCH] Remove Profile Mode, deprecated since GCC 7.1

2019-05-13 Thread Jonathan Wakely
On 11/05/19 20:56 +0100, Jonathan Wakely wrote: The Profile Mode extension is not used by anybody, nor maintained by anybody. The containers do not support the full API specified in recent standards, and so enabling Profile Mode is not source compatible with much modern C++ code. The heuristics

Re: [PATCH][AArch64] Emit TARGET_DOTPROD-specific sequence for sadv16qi

2019-05-13 Thread Kyrill Tkachov
Hi Richard, On 5/9/19 9:06 AM, Richard Sandiford wrote: Kyrill Tkachov writes: +;; Helper expander for aarch64_abd_3 to save the callers +;; the hassle of constructing the other arm of the MINUS. +(define_expand "abd_3" + [(use (match_operand:VDQ_BHSI 0 "register_operand")) +

Re: [PATCH][OBVIOUS] Fix wrong usage of dump_printf_loc (PR tree-optimization/90416).

2019-05-13 Thread Richard Sandiford
Martin Liška writes: > Hi. > > dump_printf_loc is a variadic function and the usafe in tree-vect-stmts.c > is wrongly passing 2nd part of the string format as a first variadic argument. > That's why I saw such a strange crashes. > > I'm going to install the patch as soon as it finishes tests.

Re: [PATCH] Improve API docs for and

2019-05-13 Thread Christophe Lyon
Hi Jonathan, On Fri, 10 May 2019 at 23:41, Jonathan Wakely wrote: > > More Doxygenation. > > Tested powerpc64le-linux. Committed to trunk. > > You've probably noticed by now, but this introduced a regression (!): FAIL: g++.dg/cpp0x/Wattributes1.C -std=c++14 (test for warnings, line 125) This

Re: [PATCH, OpenACC, libgomp, v6, stage1] Async-rework update

2019-05-13 Thread Chung-Lin Tang
On 2019/2/26 9:51 PM, Thomas Schwinge wrote: On Tue, 26 Feb 2019 01:49:09 +0800, Chung-Lin Tang wrote: I have incorporated all your patches you've included in the last mail (with some modifications, though pretty minor I think). OK, thanks, that's good for next GCC development stage 1 as far

Re: [PATCH][PR89341]Fix ICE on function definition with weakref/alias attributes attached

2019-05-13 Thread Jakub Jelinek
On Mon, May 13, 2019 at 04:53:52PM +0800, JunMa wrote: > > According to gnu document of function attributes, neither weakref nor > > alias > > could be attached to a function defined in current translation unit. > > Although GCC checks the attributes under some circumstances, it still > > fails >

Re: [PATCH][RFC] Come up with TARGET_HAS_FAST_MEMPCPY_ROUTINE (PR middle-end/90263).

2019-05-13 Thread Martin Liška
On 5/10/19 11:21 AM, Jakub Jelinek wrote: > On Fri, May 10, 2019 at 11:04:12AM +0200, Martin Liška wrote: >> --- a/gcc/config/i386/i386.h >> +++ b/gcc/config/i386/i386.h >> @@ -1906,6 +1906,9 @@ typedef struct ix86_args { >> >> #define CLEAR_RATIO(speed) ((speed) ? MIN (6,

Re: [PATCH] Eliminates phi on branch for CMP result

2019-05-13 Thread Segher Boessenkool
On Sun, May 12, 2019 at 10:07:28PM -0500, Jiufu Guo wrote: > To elimiate the instructions which moving result of CMP to GPR, I'm > wondering maybe we could do a combine(or a peephole) after bbro to let > the condition jump directly using the result of CMP. It will have to be a peephole. And

Re: [PATCH][OBVIOUS] Fix wrong usage of dump_printf_loc (PR tree-optimization/90416).

2019-05-13 Thread Martin Liška
On 5/13/19 1:19 PM, Richard Sandiford wrote: > Martin Liška writes: >> Hi. >> >> dump_printf_loc is a variadic function and the usafe in tree-vect-stmts.c >> is wrongly passing 2nd part of the string format as a first variadic >> argument. >> That's why I saw such a strange crashes. >> >> I'm

Re: malloc cannot alias preexisting pointers

2019-05-13 Thread Richard Biener
On Sun, May 12, 2019 at 2:51 PM Marc Glisse wrote: > > On Sun, 12 May 2019, Richard Sandiford wrote: > > > Marc Glisse writes: > >> Hello, > >> > >> this patch lets gcc know that if a pointer existed before the call to > >> malloc, the result of malloc cannot alias it. This is a bit ad hoc and >

[PATCH, i386]: --enable-frame-pointer for cygwin and mingw

2019-05-13 Thread Uros Bizjak
On Thu, May 9, 2019 at 11:55 AM Thomas Schwinge wrote: > On Sun, 10 Feb 2019 20:51:39 +0100, Uros Bizjak wrote: > > On Fri, Feb 8, 2019 at 1:24 PM Uros Bizjak wrote: > > > Attached patch fixes --enable-frame-pointer handling [...] > > ACK. > > > Please note that this fix will re-enable frame

Re: [PATCH][GCC][AArch64] Vectorise __builtin_signbit on aarch64

2019-05-13 Thread Przemyslaw Wirkus
Hi all, Vectorise __builtin_signbit (v2sf, v4sf) with unsigned shift right vector instruction. Bootstrapped and tested on aarch64-none-linux-gnu. Assembly output for: $ aarch64-elf-gcc -S -O3 signbitv2sf.c -dp Before patch: foo: ldp w2, w1, [x1]// 37 [c=0 l=4]

[PATCH] Another PRE insertion speedup

2019-05-13 Thread Richard Biener
The following switches PRE insertion from a dominator walk to a RPO walk which should reduce the number of iterations because we know AVAIL_OUT will be up-to-date for all predecessors (apart from backedges). I have a more elaborate patch but that somehow fails bootstrap comparison so I'm doing

Re: [PATCH][RFC] Come up with TARGET_HAS_FAST_MEMPCPY_ROUTINE (PR middle-end/90263).

2019-05-13 Thread Wilco Dijkstra
Hi Martin, +++ b/gcc/testsuite/gcc.c-torture/pr90263.c @@ -0,0 +1,9 @@ +/* PR middle-end/90263 */ + +int *f (int *p, int *q, long n) +{ + return __builtin_mempcpy (p, q, n); +} + +/* { dg-final { scan-assembler "mempcpy" { target { i?86-*-* x86_64-*-* } } } } */ +/* { dg-final { scan-assembler

Re: [DWARF] dwarf2out cleanups

2019-05-13 Thread Richard Biener
On Fri, May 10, 2019 at 2:40 PM Nathan Sidwell wrote: > > When poking at some dwarf bugs, which were ultimately fixed by Richard, > I made a couple of cleanups. The first two are pretty obvious comment > clarification, but the last fragment is a more invasive control flow > change. In that case

Re: [PATCH] Eliminates phi on branch for CMP result

2019-05-13 Thread Richard Biener
On Mon, 13 May 2019, Segher Boessenkool wrote: > On Sun, May 12, 2019 at 10:07:28PM -0500, Jiufu Guo wrote: > > To elimiate the instructions which moving result of CMP to GPR, I'm > > wondering maybe we could do a combine(or a peephole) after bbro to let > > the condition jump directly using the

[wwwdocs] Add DOCTYPE and lang attribute

2019-05-13 Thread Jonathan Wakely
This makes /gcc-10/changes.html valid HTML5. Committed to CVS. Index: htdocs/gcc-10/changes.html === RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-10/changes.html,v retrieving revision 1.2 diff -u -r1.2 changes.html ---

Remove obsolete Solaris 10 libgo support

2019-05-13 Thread Rainer Orth
Here's the libgo part of the Solaris 10 removal patch. I wonder if the cleanup is worthwhile given the small size of the patch. Bootstrapped without regressions on i386-pc-solaris2.11 and sparc-sun-solaris2.11 together with the main patch. Rainer --

Re: Remove obsolete Solaris 10 support

2019-05-13 Thread Jonathan Wakely
On 13/05/19 13:39 +0200, Rainer Orth wrote: libstdc++-v3: * config/os/solaris/solaris2.10: Move to ... * config/os/solaris: ... this. * configure.host (os_include_dir): Adapt. (abi_baseline_pair): Remove Solaris 10 handling. *

[wwwdocs] Document PR libstdc++/68210 (LWG DR 206) changes

2019-05-13 Thread Jonathan Wakely
Some notes for /gcc-9/porting_to.html (I haven't seen this change cause any issues in practice, but it doesn't hurt to document it). Committed to CVS. Index: htdocs/gcc-9/porting_to.html === RCS file:

Re: [PATCH][RFC] Come up with TARGET_HAS_FAST_MEMPCPY_ROUTINE (PR middle-end/90263).

2019-05-13 Thread Jakub Jelinek
On Mon, May 13, 2019 at 12:14:37PM +0200, Martin Liška wrote: > On 5/10/19 11:21 AM, Jakub Jelinek wrote: > > On Fri, May 10, 2019 at 11:04:12AM +0200, Martin Liška wrote: > >> --- a/gcc/config/i386/i386.h > >> +++ b/gcc/config/i386/i386.h > >> @@ -1906,6 +1906,9 @@ typedef struct ix86_args { > >>

[PATCH][OBVIOUS] Fix wrong usage of dump_printf_loc (PR tree-optimization/90416).

2019-05-13 Thread Martin Liška
Hi. dump_printf_loc is a variadic function and the usafe in tree-vect-stmts.c is wrongly passing 2nd part of the string format as a first variadic argument. That's why I saw such a strange crashes. I'm going to install the patch as soon as it finishes tests. Thanks, Martin gcc/ChangeLog:

Re: malloc cannot alias preexisting pointers

2019-05-13 Thread Marc Glisse
On Mon, 13 May 2019, Richard Biener wrote: On Sun, May 12, 2019 at 2:51 PM Marc Glisse wrote: On Sun, 12 May 2019, Richard Sandiford wrote: Marc Glisse writes: Hello, this patch lets gcc know that if a pointer existed before the call to malloc, the result of malloc cannot alias it. This

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Jeff Law
On 5/10/19 9:17 AM, Jakub Jelinek wrote: > On Fri, May 10, 2019 at 01:46:07PM +, Wilco Dijkstra wrote: >> And looking at the generated code, emitting a tailcall for this case is >> actually a >> de-optimization since the large eh_return epilog must be repeated for every >> tailcall. > > On

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Iain Sandoe
> On 13 May 2019, at 20:10, Jakub Jelinek wrote: > > On Mon, May 13, 2019 at 12:52:54PM -0600, Jeff Law wrote: >> On 5/10/19 9:17 AM, Jakub Jelinek wrote: >>> On Fri, May 10, 2019 at 01:46:07PM +, Wilco Dijkstra wrote: And looking at the generated code, emitting a tailcall for this

Re: Remove obsolete Solaris 10 libgo support

2019-05-13 Thread Rainer Orth
Hi Ian, > Thanks. The patch to mksysinfo.sh wasn't quite right. This was the > patch that I committed. that was the only part I'd added at the very last minute without testing it. I'd already noticed the mess myself earlier this evening when it broke my own bootstraps. Sorry for the mess and

[PATCH] Small markup changes to PBDS docs

2019-05-13 Thread Jonathan Wakely
* doc/xml/manual/policy_data_structures.xml: Comment out stray elements. Fix formatting of bibliography references. Committed to trunk. commit 97987cf2b2e7549e3c864e257f7e9f07c05db95a Author: Jonathan Wakely Date: Mon May 13 17:24:56 2019 +0100 Small markup changes to

[PATCH] PR libstdc++/90454.cc path construction from void*

2019-05-13 Thread Jonathan Wakely
Make the filesystem::path constructors SFINAE away for void* arguments, instead of giving an error due to iterator_traits::reference. PR libstdc++/90454.cc path construction from void* * include/bits/fs_path.h (path::_Path): Use remove_pointer so that pointers to void are

Re: [PATCH] Improve API docs for and

2019-05-13 Thread Jonathan Wakely
On 13/05/19 13:11 +0100, Jonathan Wakely wrote: On 13/05/19 14:02 +0200, Christophe Lyon wrote: Hi Jonathan, On Fri, 10 May 2019 at 23:41, Jonathan Wakely wrote: More Doxygenation. Tested powerpc64le-linux. Committed to trunk. You've probably noticed by now, but this introduced a

Re: Remove obsolete Solaris 10 libgo support

2019-05-13 Thread Ian Lance Taylor
From: Rainer Orth > Here's the libgo part of the Solaris 10 removal patch. I wonder if the > cleanup is worthwhile given the small size of the patch. > > Bootstrapped without regressions on i386-pc-solaris2.11 and > sparc-sun-solaris2.11 together with the main patch. Thanks. The patch to

[C++ PATCH] Use releasing_vec more broadly.

2019-05-13 Thread Jason Merrill
The releasing_vec class is useful anywhere we want to release_tree_vector on exit, particularly in the presence of multiple returns. Tested x86_64-pc-linux-gnu, applying to trunk. * cp-tree.h (struct releasing_vec): Replace get_ref method with operator&. (vec_safe_push,

Re: malloc cannot alias preexisting pointers

2019-05-13 Thread Martin Sebor
On 5/13/19 10:49 AM, Jakub Jelinek wrote: On Mon, May 13, 2019 at 10:36:00AM -0600, Martin Sebor wrote: On 5/11/19 5:33 PM, Marc Glisse wrote: Hello, this patch lets gcc know that if a pointer existed before the call to malloc, the result of malloc cannot alias it. This is a bit ad hoc and

Re: [RFC] SHIFT_COUNT_TRUNCATED and shift_truncation_mask

2019-05-13 Thread Jeff Law
On 5/13/19 1:32 AM, Richard Sandiford wrote: > > IMO we should only consider deprecating the macro. I'm not sure how > much practical effect that will have though. cc0 was deprecated ages > ago but we're a still a long way from getting rid of it. :-) Yea, but (in theory) removing

Re: malloc cannot alias preexisting pointers

2019-05-13 Thread Martin Sebor
On 5/13/19 11:37 AM, Marc Glisse wrote: On Mon, 13 May 2019, Martin Sebor wrote: On 5/11/19 5:33 PM, Marc Glisse wrote: Hello, this patch lets gcc know that if a pointer existed before the call to malloc, the result of malloc cannot alias it. This is a bit ad hoc and fragile. A small

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Jakub Jelinek
On Mon, May 13, 2019 at 12:52:54PM -0600, Jeff Law wrote: > On 5/10/19 9:17 AM, Jakub Jelinek wrote: > > On Fri, May 10, 2019 at 01:46:07PM +, Wilco Dijkstra wrote: > >> And looking at the generated code, emitting a tailcall for this case is > >> actually a > >> de-optimization since the

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Jakub Jelinek
On Mon, May 13, 2019 at 07:57:30PM +, Wilco Dijkstra wrote: > Hi, > > > I think my worry would be all the targets that support tail calls, but > > which we can't easily test.   ie, we put in the hack, but when do we > > know it can be removed? > > Well it would be easy to make a runnable

Re: [PATCH] [MIPS] Fix PR/target 90357 20080502-1.c -O0 start with r269880

2019-05-13 Thread Jeff Law
On 5/6/19 2:34 AM, Paul Hua wrote: > The attached patch fix pr90357, bootstraped and regressed test on > mips64el-linux-gnu target. > Ok for commit ? > > > 0001-PATCH-MIPS-Skip-forward-src-into-next-insn-when-the-.patch > > From a3db8763ee8460a5f63c567d58624a985f9924ce Mon Sep 17 00:00:00 2001

[PATCH] Fix testsuite regression caused by r271077

2019-05-13 Thread Jonathan Wakely
* g++.dg/cpp0x/Wattributes1.C: Adjust dg-error line number to fix regression, by matching a note on any line. * g++.dg/cpp0x/Wattributes2.C: Add another copy that checks the correct line number is matched without depending on a library header. Tested

Re: [PATCH] Fix testsuite regression caused by r271077

2019-05-13 Thread Jeff Law
On 5/13/19 1:55 PM, Jonathan Wakely wrote: > * g++.dg/cpp0x/Wattributes1.C: Adjust dg-error line number to fix > regression, by matching a note on any line. > * g++.dg/cpp0x/Wattributes2.C: Add another copy that checks the > correct line number is matched without depending on a

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Wilco Dijkstra
Hi, > I think my worry would be all the targets that support tail calls, but > which we can't easily test.   ie, we put in the hack, but when do we > know it can be removed? Well it would be easy to make a runnable torture test. I'm not sure how easy it would be to do it using a scan-assembler

Re: malloc cannot alias preexisting pointers

2019-05-13 Thread Marc Glisse
On Mon, 13 May 2019, Martin Sebor wrote: On 5/11/19 5:33 PM, Marc Glisse wrote: Hello, this patch lets gcc know that if a pointer existed before the call to malloc, the result of malloc cannot alias it. This is a bit ad hoc and fragile. A small improvement would be, when the 2 statements

Recent combine change causing regressions

2019-05-13 Thread Jeff Law
sh3-linux-gnu and sh3eb-linux-gnu: Tests that now fail, but worked before (3 tests): gcc.target/sh/pr51244-11.c scan-assembler-not subc|and|bra gcc.target/sh/pr51244-11.c scan-assembler-times bf\t0f 1 gcc.target/sh/pr51244-11.c scan-assembler-times bt\t0f 1 Previously we'd match this

Re: Recent combine change causing regressions

2019-05-13 Thread Segher Boessenkool
On Mon, May 13, 2019 at 08:27:15AM -0600, Jeff Law wrote: > > sh3-linux-gnu and sh3eb-linux-gnu: > > > Tests that now fail, but worked before (3 tests): > > gcc.target/sh/pr51244-11.c scan-assembler-not subc|and|bra > gcc.target/sh/pr51244-11.c scan-assembler-times bf\t0f 1 >

[PATCH] A couple of driver cleanups

2019-05-13 Thread Nathan Sidwell
I'm applying this obvious patch. Two hunks deal with inappropriate line breaks, and the first changes the baroque: var = (thing) ? thing : var; into the much clearer if (thing) var = thing; nathan -- Nathan Sidwell 2019-05-13 Nathan Sidwell gcc.c * (execute): Simplify

Re: Recent combine change causing regressions

2019-05-13 Thread Segher Boessenkool
On Mon, May 13, 2019 at 08:27:15AM -0600, Jeff Law wrote: > sh3-linux-gnu and sh3eb-linux-gnu: I test sh2 and sh4, but not sh3 :-) > Tests that now fail, but worked before (3 tests): > > gcc.target/sh/pr51244-11.c scan-assembler-not subc|and|bra > gcc.target/sh/pr51244-11.c scan-assembler-times

Recent change breaking C++ tests

2019-05-13 Thread Jeff Law
Tester started failing Wattributes1.C on various targets after this change: > commit de3f1d9aabb765f78d127696ff9dd0a83b268aa2 (HEAD, refs/bisect/bad) > Author: redi > Date: Fri May 10 21:41:11 2019 + > > Improve API docs for and > > * include/bits/shared_ptr.h:

Re: Recent change breaking C++ tests

2019-05-13 Thread Jeff Law
On 5/13/19 9:08 AM, Jonathan Wakely wrote: > On 13/05/19 08:56 -0600, Jeff Law wrote: >> Tester started failing Wattributes1.C on various targets after this >> change: >> >> >>> commit de3f1d9aabb765f78d127696ff9dd0a83b268aa2 (HEAD, refs/bisect/bad) >>> Author: redi >>> Date:   Fri May 10

Re: Recent combine change causing regressions

2019-05-13 Thread Segher Boessenkool
On Mon, May 13, 2019 at 11:41:58PM +0900, Oleg Endo wrote: > On Mon, 2019-05-13 at 09:38 -0500, Segher Boessenkool wrote: > > On Mon, May 13, 2019 at 08:27:15AM -0600, Jeff Law wrote: > > > Tests that now fail, but worked before (3 tests): > > > > > > gcc.target/sh/pr51244-11.c scan-assembler-not

Re: Recent combine change causing regressions

2019-05-13 Thread Jeff Law
On 5/13/19 8:38 AM, Segher Boessenkool wrote: > On Mon, May 13, 2019 at 08:27:15AM -0600, Jeff Law wrote: >> sh3-linux-gnu and sh3eb-linux-gnu: > > I test sh2 and sh4, but not sh3 :-) > >> Tests that now fail, but worked before (3 tests): >> >> gcc.target/sh/pr51244-11.c scan-assembler-not

[PATCH] Hollerith constant documentation

2019-05-13 Thread Mark Eggleston
The Hollerith constants support section in the gfortran manual stated that they can be used with the ASSIGN statement. This is not the case as a compilation error occurs and in any event the value of any such constant would be larger than the largest valid label (9). I've added some extra

Re: Recent change breaking C++ tests

2019-05-13 Thread Jonathan Wakely
On 13/05/19 08:56 -0600, Jeff Law wrote: Tester started failing Wattributes1.C on various targets after this change: commit de3f1d9aabb765f78d127696ff9dd0a83b268aa2 (HEAD, refs/bisect/bad) Author: redi Date: Fri May 10 21:41:11 2019 + Improve API docs for and *

Re: Remove obsolete Solaris 10 support

2019-05-13 Thread Ian Lance Taylor
From: Rainer Orth Date: Mon, May 13, 2019 at 4:39 AM > With the GCC 9.1 release out of the door, this patch implements the > removal of Solaris 10 support that had been obsoleted in GCC 9. ... > The vast majority of the patch falls squarely under my Solaris > maintainership. I'm uncertain

Re: malloc cannot alias preexisting pointers

2019-05-13 Thread Martin Sebor
On 5/11/19 5:33 PM, Marc Glisse wrote: Hello, this patch lets gcc know that if a pointer existed before the call to malloc, the result of malloc cannot alias it. This is a bit ad hoc and fragile. A small improvement would be, when the 2 statements are in the same bb but in the wrong order,

Re: malloc cannot alias preexisting pointers

2019-05-13 Thread Jakub Jelinek
On Mon, May 13, 2019 at 10:36:00AM -0600, Martin Sebor wrote: > On 5/11/19 5:33 PM, Marc Glisse wrote: > > Hello, > > > > this patch lets gcc know that if a pointer existed before the call to > > malloc, the result of malloc cannot alias it. This is a bit ad hoc and > > fragile. A small

Re: Recent combine change causing regressions

2019-05-13 Thread Segher Boessenkool
On Mon, May 13, 2019 at 09:38:00AM -0500, Segher Boessenkool wrote: > I tested on 30-something targets (all *-linux), and only mips64 regressed > a little, everything else improved. I meant alpha, btw. 0.08% code size growth. And the biggest winner is i386, with a similar shrink. Most targets

Re: Recent combine change causing regressions

2019-05-13 Thread Oleg Endo
On Mon, 2019-05-13 at 09:38 -0500, Segher Boessenkool wrote: > On Mon, May 13, 2019 at 08:27:15AM -0600, Jeff Law wrote: > > sh3-linux-gnu and sh3eb-linux-gnu: > > I test sh2 and sh4, but not sh3 :-) > > > Tests that now fail, but worked before (3 tests): > > > > gcc.target/sh/pr51244-11.c

[PATCH] Fix rs6000 exception handling (PR target/90418)

2019-05-13 Thread David Edelsohn
Following the same pattern as the AArch64 patch, this patch fixes the PPC32 BE and AIX EH failures after the sibcall changes. This does not address the Darwin failures because of SAVE_WORLD. Bootstrapped on powerpc-ibm-aix7.2.0.0, powerpc64le-unknown-linux-gnu, powerpc64-unknown-linux-gnu,

[V2] malloc cannot alias preexisting pointers

2019-05-13 Thread Marc Glisse
Here is a version of the patch with a cheaper test, and an extra testcase for Martin. (I kept the tree-ssa-loop-niter.c part although I am not using it anymore) 2019-05-15 Marc Glisse gcc/ * tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Handle NULL basic block. *

[PATCH v2 2/3] Add predict_doloop_p target hook

2019-05-13 Thread linkw
From: Kewen Lin Previous version link for background: https://gcc.gnu.org/ml/gcc-patches/2019-04/msg00912.html This hook is to predict whether one loop in gimple will be transformed to low-overhead loop later in RTL, and designed to be called in ivopts. "Since the low-overhead loop optimize

[PATCH v2 3/3] Consider doloop cmp use in ivopts

2019-05-13 Thread linkw
From: Kewen Lin Previous version link for background: https://gcc.gnu.org/ml/gcc-patches/2019-04/msg00912.html Firstly, it's to call predict_doloop_p hook to check this loop will be transformed to doloop or not, if yes, find the expected comp iv use and its dependent original iv, set the iv

[PATCH v2 1/3] Move prepare_decl_rtl to expr.[ch] as extern

2019-05-13 Thread linkw
From: Kewen Lin Previous version link: https://gcc.gnu.org/ml/gcc-patches/2019-04/msg00912.html This is a NFC (no functional change) patch. Ivopts has some codes to expand gimple to RTL seq, but before call expanding, we should call a preparation funciton prepare_decl_rtl. This patch is to

C++ PATCH for CWG 2096, constraints on literal unions

2019-05-13 Thread Marek Polacek
This patch implements CWG 2096 which relaxes the constraints for literal unions. [basic.types]/p10 now says: A type is a literal type if... -- it is a union, at least one of its non-static data members is of non-volatile literal type, [...] check_field_decls is called with CLASSTYPE_LITERAL_P

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Jeff Law
On 5/13/19 2:09 PM, Jakub Jelinek wrote: > On Mon, May 13, 2019 at 07:57:30PM +, Wilco Dijkstra wrote: >> Hi, >> >>> I think my worry would be all the targets that support tail calls, but >>> which we can't easily test.   ie, we put in the hack, but when do we >>> know it can be removed? >> >>

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Jakub Jelinek
On Mon, May 13, 2019 at 04:29:21PM -0600, Jeff Law wrote: > > That is a serious misunderstanding of what __builtin_eh_return does. > > For the most part, __builtin_eh_return works by forcing all call clobbered > > registers to stack, having that described in the unwind info and having the > >

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)

2019-05-13 Thread Wilco Dijkstra
Hi Jakub, >> We could simpify __builtin_eh_return and implement it as a libgcc >> function or automatically generated thunk. Basically all you need is >> tailcall a 2-instruction helper which adjusts the stack and then jumps >> to the given function pointer. This way you don't need the complex

Re: Deque code cleanup and optimizations

2019-05-13 Thread François Dumont
On 5/10/19 3:38 PM, Jonathan Wakely wrote: This seems generally OK, but ... On Fri, 10 May 2019, 05:59 François Dumont wrote: I remove several _M_map != nullptr checks cause in current implementation it can't be null. I have several patches following this one to support it but in this

Re: [PATCH 0/2] Future warnings not treated as errors

2019-05-13 Thread Alex Henrie
On Tue, Mar 19, 2019 at 10:09 PM Alex Henrie wrote: > > On Tue, Mar 19, 2019 at 11:03 AM Martin Liška wrote: > > > > What's Joseph telling is that right now the patch can't be approved (and > > installed). > > It's due to fact that we are close to the release in stage4: > >

std::vector code cleanup fixes optimizations

2019-05-13 Thread François Dumont
Hi     This is the patch on vector to: - Optimize sizeof in Versioned namespace mode. We could go one step further by removing _M_p from _M_finish and just transform it into an offset but it is a little bit more impacting for the code. - Implement the swap optimization already done on main