Re: [PR 83141] Prevent SRA from removing type changing assignment

2018-07-31 Thread H.J. Lu
On Tue, Dec 5, 2017 at 4:00 AM, Martin Jambor wrote: > On Tue, Dec 05 2017, Martin Jambor wrote: >> On Tue, Dec 05 2017, Martin Jambor wrote: >> Hi, >> >>> Hi, >>> >>> this is a followup to Richi's >>> https://gcc.gnu.org/ml/gcc-patches/2017-11/msg02396.html to fix PR >>> 83141. The basic idea

libgo patch committed: Use poll rather than pollset on AIX

2018-07-31 Thread Ian Lance Taylor
This patch by Tony Reix changes libgo's poller support on AIX to use poll rather than pollset. This may fixes https://golang.org/issue/26634. Bootstrapped and ran Go testsuite on x86_64-pc-linux, not that that proves much. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE

Re: [PATCH 11/11] rs6000 - add speculation_barrier pattern

2018-07-31 Thread Segher Boessenkool
On Tue, Jul 31, 2018 at 05:01:02PM -0500, Bill Schmidt wrote: > > On Jul 27, 2018, at 4:37 AM, Richard Earnshaw > > wrote: > > This patch reworks the existing rs6000_speculation_barrier pattern to > > work with the new __builtin_sepculation_safe_value() intrinsic. The > > change is trivial as

Re: [PATCH] Make strlen range computations more conservative

2018-07-31 Thread Martin Sebor
On 07/31/2018 09:48 AM, Jakub Jelinek wrote: On Tue, Jul 31, 2018 at 09:17:52AM -0600, Martin Sebor wrote: On 07/31/2018 12:38 AM, Jakub Jelinek wrote: On Mon, Jul 30, 2018 at 09:45:49PM -0600, Martin Sebor wrote: Even without _FORTIFY_SOURCE GCC diagnoses (some) writes past the end of

Re: [PATCH 10/11] x86 - add speculation_barrier pattern

2018-07-31 Thread H.J. Lu
On Sat, Jul 28, 2018 at 1:25 AM, Uros Bizjak wrote: > On Fri, Jul 27, 2018 at 11:37 AM, Richard Earnshaw > wrote: >> >> This patch adds a speculation barrier for x86, based on my >> understanding of the required mitigation for that CPU, which is to use >> an lfence instruction. >> >> This patch

Re: [PATCH] [AArch64, Falkor] Adjust Falkor's sign extend reg+reg address cost

2018-07-31 Thread James Greenhalgh
On Wed, Jul 25, 2018 at 01:35:23PM -0500, Luis Machado wrote: > Adjust Falkor's register_sextend cost from 4 to 3. This fixes a testsuite > failure in gcc.target/aarch64/extend.c:ldr_sxtw where GCC was generating > a sbfiz instruction rather than a load with sign extension. > > No performance

Re: [PATCH] [AArch64, Falkor] Switch to using Falkor-specific vector costs

2018-07-31 Thread James Greenhalgh
On Wed, Jul 25, 2018 at 01:10:34PM -0500, Luis Machado wrote: > The adjusted vector costs give Falkor a reasonable boost in performance for FP > benchmarks (both CPU2017 and CPU2006) and doesn't change INT benchmarks that > much. About 0.7% for CPU2017 FP and 1.54% for CPU2006 FP. > > OK for

Re: [PATCH] PR libstdc++/86751 default assignment operators for std::pair

2018-07-31 Thread Jonathan Wakely
On 31/07/18 18:40 +0100, Jonathan Wakely wrote: On 31/07/18 20:14 +0300, Ville Voutilainen wrote: On 31 July 2018 at 20:07, Jonathan Wakely wrote: The solution for PR 77537 causes ambiguities due to the extra copy assignment operator taking a __nonesuch_no_braces parameter. The copy and move

[PATCH] Don't unconditionally define feature test macros in

2018-07-31 Thread Jonathan Wakely
The macro definitions in should depend on the same preprocessor conditions as the original macros in other headers. Otherwise can define macros that imply the availability of features that are not actually defined. This fix is incomplete, as __cpp_lib_filesystem should depend on whether

[Patch][Aarch64] Implement Aarch64 SIMD ABI and aarch64_vector_pcs attribute

2018-07-31 Thread Steve Ellcey
Here is a new version of my patch to support the Aarch64 SIMD ABI [1] in GCC.  I think this is complete enought to be considered for check in.  I wrote a few new tests and put them in a new gcc.target/torture directory so they would be run with multiple optimization options.  I also verified that

Re: [PATCH] Avoid infinite loop with duplicate anonymous union fields

2018-07-31 Thread Joseph Myers
On Wed, 1 Aug 2018, Bogdan Harjoc wrote: > So array[0] < component < array[2], which loops (I removed the gdb p > commands for field_array[1] and so on). Is the key thing here that you end up with DECL_NAME (field) == NULL_TREE, but DECL_NAME (field_array[bot]) != NULL_TREE - and in this

Re: [GCC][PATCH][Aarch64] Stop redundant zero-extension after UMOV when in DI mode

2018-07-31 Thread James Greenhalgh
On Thu, Jul 26, 2018 at 11:52:15AM -0500, Sam Tebbs wrote: > > Thanks for making the changes and adding more test cases. I do however > > see that you are only covering 2 out of 4 new > > *aarch64_get_lane_zero_extenddi<> patterns. The > > *aarch64_get_lane_zero_extendsi<> were already

Re: [PATCH] Avoid infinite loop with duplicate anonymous union fields

2018-07-31 Thread Bogdan Harjoc
#define foo(a) did it, thanks! As Joseph suspected, the hang/no hang result depended on the values of DECL_NAME pointers: - with #define foo(a) plus the testcase from bugzilla id 86690 and no -save-temps, the "return s.a" that triggers lookup_field() will find the sorted field_array containing:

Re: [PATCH 11/11] rs6000 - add speculation_barrier pattern

2018-07-31 Thread Bill Schmidt
Hi Richard, I can't ack the patch, but I am happy with it. Thank you for this work! -- Bill Bill Schmidt, Ph.D. STSM, GCC Architect for Linux on Power IBM Linux Technology Center wschm...@linux.vnet.ibm.com > On Jul 27, 2018, at 4:37 AM, Richard Earnshaw > wrote: > > > This patch reworks

Re: [gen/AArch64] Generate helpers for substituting iterator values into pattern names

2018-07-31 Thread James Greenhalgh
On Fri, Jul 13, 2018 at 04:15:41AM -0500, Richard Sandiford wrote: > Given a pattern like: > > (define_insn "aarch64_frecpe" ...) > > the SVE ACLE implementation wants to generate the pattern for a > particular (non-constant) mode. This patch automatically generates > helpers to do that,

Re: [PATCH][AArch64] Implement new intrinsics vabsd_s64 and vnegd_s64

2018-07-31 Thread James Greenhalgh
On Fri, Jul 20, 2018 at 04:37:34AM -0500, Vlad Lazar wrote: > Hi, > > The patch adds implementations for the NEON intrinsics vabsd_s64 and > vnegd_s64. >

Re: [PATCH][AARCH64] PR target/84521 Fix frame pointer corruption with -fomit-frame-pointer with __builtin_setjmp

2018-07-31 Thread Andrew Pinski
On Tue, Jul 31, 2018 at 2:43 PM James Greenhalgh wrote: > > On Thu, Jul 12, 2018 at 12:01:09PM -0500, Sudakshina Das wrote: > > Hi Eric > > > > On 27/06/18 12:22, Wilco Dijkstra wrote: > > > Eric Botcazou wrote: > > > > > >>> This test can easily be changed not to use optimize since it doesn't >

Re: [AArch64] Add support for 16-bit FMOV immediates

2018-07-31 Thread James Greenhalgh
On Wed, Jul 18, 2018 at 12:47:27PM -0500, Richard Sandiford wrote: > aarch64_float_const_representable_p was still returning false for > HFmode, so we wouldn't use 16-bit FMOV immediate. E.g. before the > patch: > > __fp16 foo (void) { return 0x1.1p-3; } > > gave: > >mov w0,

Re: [PATCH][AARCH64] PR target/84521 Fix frame pointer corruption with -fomit-frame-pointer with __builtin_setjmp

2018-07-31 Thread James Greenhalgh
On Thu, Jul 12, 2018 at 12:01:09PM -0500, Sudakshina Das wrote: > Hi Eric > > On 27/06/18 12:22, Wilco Dijkstra wrote: > > Eric Botcazou wrote: > > > >>> This test can easily be changed not to use optimize since it doesn't look > >>> like it needs it. We really need to tests these builtins

Re: [PATCH][GCC][AArch64] Cleanup the AArch64 testsuite when stack-clash is on [Patch (6/6)]

2018-07-31 Thread James Greenhalgh
On Tue, Jul 24, 2018 at 05:28:03AM -0500, Tamar Christina wrote: > Hi All, > > This patch cleans up the testsuite when a run is done with stack clash > protection turned on. > > Concretely this switches off -fstack-clash-protection for a couple of tests: > > * sve: We don't yet support

Re: [PATCH][GCC][AArch64] Set default values for stack-clash and do basic validation in back-end. [Patch (5/6)]

2018-07-31 Thread James Greenhalgh
On Tue, Jul 24, 2018 at 05:27:05AM -0500, Tamar Christina wrote: > Hi All, > > This patch is a cascade update from having to re-spin the configure patch > (no# 4 in the series). > > This patch enforces that the default guard size for stack-clash protection for > AArch64 be 64KB unless the user

Re: [PATCH] Alias -Warray-bounds to -Warray-bounds=1

2018-07-31 Thread Martin Sebor
I can't approve patches but this one seems to be in the obvious category so I think it could be checked in without formal approval. It is however missing a couple of things: 1) a test case, and 2) a reference to the bug it fixes in the ChangeLog and in the test. With that, if no one objects, I

Re: Fold pointer range checks with equal spans

2018-07-31 Thread Marc Glisse
On Tue, 31 Jul 2018, Richard Biener wrote: Also, when @2 == @0 + (@1+1) then the original condition is true but ((sizetype) @0 - (sizetype) @2 + @1) > (@1 * 2) is not? (sizetype) @0 - (sizetype) (@0 + @1 + 1) + @1 > @1 * 2 -> -1 > @1 * 2 which is false. So I can't really see how you can

Re: [PATCH 01/11] Add __builtin_speculation_safe_value

2018-07-31 Thread Ian Lance Taylor via gcc-patches
On Tue, Jul 31, 2018 at 12:25 PM, H.J. Lu wrote: > On Mon, Jul 30, 2018 at 6:16 AM, Richard Biener wrote: >> On Fri, 27 Jul 2018, Richard Earnshaw wrote: >> >>> >>> This patch defines a new intrinsic function >>> __builtin_speculation_safe_value. A generic default implementation is >>> defined

Merge from trunk to gccgo branch

2018-07-31 Thread Ian Lance Taylor
I've merged trunk revision 263114 to the gccgo branch. Ian

Re: [PATCH] libbacktrace: Move define of HAVE_ZLIB into check for -lz

2018-07-31 Thread Ian Lance Taylor via gcc-patches
On Tue, Jul 31, 2018 at 8:10 AM, Iain Buclaw wrote: > On 31 July 2018 at 16:33, Ian Lance Taylor wrote: >> On Sun, Jul 29, 2018 at 7:50 AM, Iain Buclaw wrote: >>> >>> This is really to suppress the default action-if-found for >>> AC_CHECK_LIBS. Zlib is not a dependency of libbacktrace, and so

Re: [PATCH] Make GO string literals properly NUL terminated

2018-07-31 Thread Ian Lance Taylor
On Tue, Jul 31, 2018 at 9:19 AM, Bernd Edlinger wrote: > On 07/31/18 16:40, Ian Lance Taylor wrote: >> On Tue, Jul 31, 2018 at 5:14 AM, Bernd Edlinger >> wrote: >>> >>> could someone please review this patch and check it in into the GO FE? >> >> I don't understand why the change is correct, and

Re: [C PATCH] Fix endless loop in the C FE initializer handling (PR c/85704)

2018-07-31 Thread Joseph Myers
On Tue, 31 Jul 2018, Jakub Jelinek wrote: > On Tue, Jul 31, 2018 at 08:04:58PM +, Joseph Myers wrote: > > On Tue, 24 Jul 2018, Jakub Jelinek wrote: > > > > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk and > > > release branches? > > > > > > 2018-07-24 Jakub Jelinek

Re: [C PATCH] Fix endless loop in the C FE initializer handling (PR c/85704)

2018-07-31 Thread Jakub Jelinek
On Tue, Jul 31, 2018 at 08:04:58PM +, Joseph Myers wrote: > On Tue, 24 Jul 2018, Jakub Jelinek wrote: > > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk and > > release branches? > > > > 2018-07-24 Jakub Jelinek > > > > PR c/85704 > > * c-typeck.c

Re: [C PATCH] Fix endless loop in the C FE initializer handling (PR c/85704)

2018-07-31 Thread Joseph Myers
On Tue, 24 Jul 2018, Jakub Jelinek wrote: > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk and > release branches? > > 2018-07-24 Jakub Jelinek > > PR c/85704 > * c-typeck.c (field_decl_cmp): New function. > (output_pending_init_elements): Use it for

Re: [PATCH 5/5] Formatted printing for dump_* in the middle-end

2018-07-31 Thread Joseph Myers
On Tue, 31 Jul 2018, David Malcolm wrote: > I didn't exhaustively check every callsite to the changed calls; I'm > assuming that -Wformat during bootstrap has effectively checked that > for me. Though now I think about it, I note that we use > HOST_WIDE_INT_PRINT_DEC in many places: is this

Re: [PATCH] Avoid infinite loop with duplicate anonymous union fields

2018-07-31 Thread Joseph Myers
On Tue, 31 Jul 2018, Bogdan Harjoc wrote: > With fresh git sources and contrib/gcc_update the tests pass: > > === gcc Summary === > > # of expected passes 133500 > # of expected failures 422 > # of unsupported tests 2104 > > gcc-build/gcc/xgcc version 9.0.0 20180730 (experimental) (GCC) > >

Re: [PATCH] Libraries' configure scripts should not read config-ml.in when multilib is disabled

2018-07-31 Thread Joseph Myers
On Mon, 30 Jul 2018, John Ericson wrote: > That said, it is my tentative understanding that the point of having config-ml > is to cordon-off all the necessarily-multilib-specific logic so it doesn't > pollute everything else. When that script isn't run, I think the Makefiles > already contain

Re: [PATCH 01/11] Add __builtin_speculation_safe_value

2018-07-31 Thread H.J. Lu
On Mon, Jul 30, 2018 at 6:16 AM, Richard Biener wrote: > On Fri, 27 Jul 2018, Richard Earnshaw wrote: > >> >> This patch defines a new intrinsic function >> __builtin_speculation_safe_value. A generic default implementation is >> defined which will attempt to use the backend pattern >>

[PATCH] change %G argument from gcall* to gimple*

2018-07-31 Thread Martin Sebor
The GCC internal %G directive takes a gcall* argument and prints the call's inlining stack in diagnostics. The argument type makes it unsuitable for gimple expressions such as those diagnosed by -Warray-bounds. As the first step in adding inlining context to -Warray-bounds warnings the attached

Re: [PATCH] include more detail in -Warray-bounds (PR 86650)

2018-07-31 Thread Martin Sebor
Attached is a much scaled-down patch that only adds a note to the -Warray-bounds warnings mentioning the declaration to which the out-of-bounds index or offset applies. Printing the inlining context needs a bit more work but this small improvement can be made independently of it. On 07/23/2018

Re: [PATCH] Fix PR middle-end/86705

2018-07-31 Thread Jozef Lawrynowicz
On 30/07/18 14:29, Richard Biener wrote: On Sun, Jul 29, 2018 at 6:27 PM Jozef Lawrynowicz wrote: pr45678-2.c ICEs for msp430-elf with -mlarge, because an alignment of POINTER_SIZE is attempted. POINTER_SIZE with -mlarge is 20-bits, so further code in the middle-end that expects this to be a

Re: [PATCH] Avoid infinite loop with duplicate anonymous union fields

2018-07-31 Thread Richard Sandiford
Hi, Thanks for submitting the patch. Bogdan Harjoc writes: > With fresh git sources and contrib/gcc_update the tests pass: > > === gcc Summary === > > # of expected passes 133500 > # of expected failures 422 > # of unsupported tests 2104 > > gcc-build/gcc/xgcc version 9.0.0 20180730

Re: [PATCH] PR libstdc++/86751 default assignment operators for std::pair

2018-07-31 Thread Jonathan Wakely
On 31/07/18 20:14 +0300, Ville Voutilainen wrote: On 31 July 2018 at 20:07, Jonathan Wakely wrote: The solution for PR 77537 causes ambiguities due to the extra copy assignment operator taking a __nonesuch_no_braces parameter. The copy and move assignment operators can be defined as defaulted

Re: [PATCH] Make function clone name numbering independent.

2018-07-31 Thread Michael Ploujnikov
On 2018-07-26 01:27 PM, Michael Ploujnikov wrote: > On 2018-07-24 09:57 AM, Michael Ploujnikov wrote: >> On 2018-07-20 06:05 AM, Richard Biener wrote: /* Return a new assembler name for a clone with SUFFIX of a decl named NAME. */ @@ -521,14 +521,13 @@ tree

Re: [PATCH] PR libstdc++/86751 default assignment operators for std::pair

2018-07-31 Thread Ville Voutilainen
On 31 July 2018 at 20:07, Jonathan Wakely wrote: > The solution for PR 77537 causes ambiguities due to the extra copy > assignment operator taking a __nonesuch_no_braces parameter. The copy > and move assignment operators can be defined as defaulted to meet the > semantics required by the

[og8] More goacc_parlevel enhancements

2018-07-31 Thread Cesar Philippidis
I've committed this patch which contains all of the remaining goacc_parlevel bug fixes present in trunk to og8. The goal of the goacc parlevel changes is replace the use of inline ptx code with builtin functions so that the certain OpenACC execution tests that exercise the execution model can be

Re: [Patch, fortran] A first small step towards CFI descriptor implementation

2018-07-31 Thread Janus Weil
Hi Paul, 2018-07-31 14:06 GMT+02:00 Paul Richard Thomas : > Daniel Celis Garza and Damian Rouson have developed a runtime library > and include file for the TS 29113 and F2018 C descriptors. > https://github.com/sourceryinstitute/ISO_Fortran_binding > > The ordering of types is different to the

[PATCH] PR libstdc++/86751 default assignment operators for std::pair

2018-07-31 Thread Jonathan Wakely
The solution for PR 77537 causes ambiguities due to the extra copy assignment operator taking a __nonesuch_no_braces parameter. The copy and move assignment operators can be defined as defaulted to meet the semantics required by the standard. In order to preserve ABI compatibility (specifically

Re: [PATCH] Fix DJGPP LTO with debug

2018-07-31 Thread Andris Pavenis
On 07/31/2018 04:04 PM, Richard Biener wrote: On Sat, 28 Jul 2018, Andris Pavenis wrote: On 07/27/2018 11:51 PM, DJ Delorie wrote: Richard Biener writes: DJ, did you ever run the testsuite with a configuration that has LTO enabled? I don't see any djgpp results posted to gcc-testresults.

[og8] Add __builtin_goacc_parlevel_{id,size}

2018-07-31 Thread Cesar Philippidis
I've committed this patch to og8 which backports the first of Tom's goacc_parlevel patches from mainline. I'll post of a followup patch which contains various bug fixes. I believe that this patch was originally introduced in PR82428, or at least it resolves that PR. Cesar [og8] Add

Re: [PATCH] Make GO string literals properly NUL terminated

2018-07-31 Thread Bernd Edlinger
On 07/31/18 16:40, Ian Lance Taylor wrote: > On Tue, Jul 31, 2018 at 5:14 AM, Bernd Edlinger > wrote: >> >> could someone please review this patch and check it in into the GO FE? > > I don't understand why the change is correct, and you didn't explain > it. Go strings are not NUL terminated.

[PATCH,nvptx] Truncate config/nvptx/oacc-parallel.c

2018-07-31 Thread Cesar Philippidis
Way back in the GCC 5 days when support for OpenACC was in its infancy, we used to rely on having various GOACC_ thread functions in the runtime to implement the execution model, or there lack of (that version of GCC only supported vector level parallelism). However, beginning with GCC 6, those

Re: [PATCH][GCC][mid-end] Allow larger copies when not slow_unaligned_access and no padding.

2018-07-31 Thread Tamar Christina
Hi Richard, The 07/31/2018 11:21, Richard Biener wrote: > On Tue, 31 Jul 2018, Tamar Christina wrote: > > > Ping  > > > > > -Original Message- > > > From: gcc-patches-ow...@gcc.gnu.org > > > On Behalf Of Tamar Christina > > > Sent: Tuesday, July 24, 2018 17:34 > > > To: Richard Biener

Re: [PATCH] Make strlen range computations more conservative

2018-07-31 Thread Jakub Jelinek
On Tue, Jul 31, 2018 at 09:17:52AM -0600, Martin Sebor wrote: > On 07/31/2018 12:38 AM, Jakub Jelinek wrote: > > On Mon, Jul 30, 2018 at 09:45:49PM -0600, Martin Sebor wrote: > > > Even without _FORTIFY_SOURCE GCC diagnoses (some) writes past > > > the end of subobjects by string functions. With

[Committed] S/390: Don't emit prefetch instructions for clrmem

2018-07-31 Thread Andreas Krebbel
From: Andreas Krebbel gcc/ChangeLog: 2018-07-31 Andreas Krebbel * config/s390/s390.c (s390_expand_setmem): Make the unrolling to depend on whether prefetch instructions will be emitted or not. Use TARGET_SETMEM_PFD for checking whether prefetch instructions

Re: [PATCH] combine: Allow combining two insns to two insns

2018-07-31 Thread Richard Earnshaw (lists)
On 31/07/18 14:57, Segher Boessenkool wrote: > Hi Christophe, > > On Tue, Jul 31, 2018 at 02:34:06PM +0200, Christophe Lyon wrote: >> Since this was committed, I've noticed regressions >> on aarch64: >> FAIL: gcc.dg/zero_bits_compound-1.c scan-assembler-not \\(and: > > This went from >

Re: [PATCH 2/5] dumpfile.c: eliminate special-casing of dump_file/alt_dump_file

2018-07-31 Thread Richard Biener
On Tue, Jul 31, 2018 at 5:34 PM David Malcolm wrote: > > On Tue, 2018-07-31 at 14:53 +0200, Richard Biener wrote: > > On Fri, Jul 27, 2018 at 11:48 PM David Malcolm > > wrote: > > > > > > With the addition of optinfo, the various dump_* calls had three > > > parts: > > > - optionally print to

Re: [PATCH 2/5] dumpfile.c: eliminate special-casing of dump_file/alt_dump_file

2018-07-31 Thread David Malcolm
On Tue, 2018-07-31 at 14:53 +0200, Richard Biener wrote: > On Fri, Jul 27, 2018 at 11:48 PM David Malcolm > wrote: > > > > With the addition of optinfo, the various dump_* calls had three > > parts: > > - optionally print to dump_file > > - optionally print to alt_dump_file > > - optionally make

[PATCH, rs6000] refactor/cleanup in rs6000-string.c

2018-07-31 Thread Aaron Sawdey
Just teasing things apart a bit more in this function so I can add vec/vsx code generation without making it enormous and incomprehensible. Bootstrap/regtest passes on powerpc64le, ok for trunk? Thanks, Aaron 2018-07-31 Aaron Sawdey * config/rs6000/rs6000-string.c

[PATCH,nvptx] Remove use of CUDA unified memory in libgomp

2018-07-31 Thread Cesar Philippidis
At present, libgomp is using CUDA unified memory only as a buffer pass to the struct containing the pointers to the data mappings to the offloaded functions. I'm not sure why unified memory is needed here if it is still being managed explicitly by the driver. This patch removes the use of CUDA

Re: [PATCH] Make strlen range computations more conservative

2018-07-31 Thread Martin Sebor
On 07/31/2018 12:38 AM, Jakub Jelinek wrote: On Mon, Jul 30, 2018 at 09:45:49PM -0600, Martin Sebor wrote: Even without _FORTIFY_SOURCE GCC diagnoses (some) writes past the end of subobjects by string functions. With _FORTIFY_SOURCE=2 it calls abort. This is the default on popular

Re: [Patch, fortran] A first small step towards CFI descriptor implementation

2018-07-31 Thread Paul Richard Thomas
Hi Richard, Ah yes, you are absolutely right. I will sit on it for a bit and do the interchange at the descriptor conversion stage for now. Thanks Paul On Tue, 31 Jul 2018 at 15:57, Richard Biener wrote: > > On Tue, Jul 31, 2018 at 2:07 PM Paul Richard Thomas > wrote: > > > > Daniel Celis

[PATCH,AIX] Optimize the time required for loading XCOFF data

2018-07-31 Thread REIX, Tony
Description:  * This patch optimizes the time required for loading XCOFF data. Tests:  * AIX: Build: SUCCESS    - build made by means of gmake on AIX. ChangeLog:   * xcoff.c: Optimize loading of XCOFF data. Cordialement, Tony Reix tony.r...@atos.net ATOS / Bull SAS ATOS Expert

[PATCH,nvptx] Remove use of 'struct map' from plugin (nvptx)

2018-07-31 Thread Cesar Philippidis
This is an old patch which removes the struct map from the nvptx plugin. I believe at one point this was supposed to be used to manage async data mappings, but in practice that never worked out. Is this OK for trunk? I bootstrapped and regtested on x86_64 with nvptx offloading. Thanks, Cesar

Re: [PATCH] libbacktrace: Move define of HAVE_ZLIB into check for -lz

2018-07-31 Thread Iain Buclaw
On 31 July 2018 at 16:33, Ian Lance Taylor wrote: > On Sun, Jul 29, 2018 at 7:50 AM, Iain Buclaw wrote: >> >> This is really to suppress the default action-if-found for >> AC_CHECK_LIBS. Zlib is not a dependency of libbacktrace, and so it >> shouldn't be added to LIBS. When looking at the

[PATCH] Improve libstdc++ docs w.r.t newer C++ standards

2018-07-31 Thread Jonathan Wakely
Instead of repeating all the old headers for every new standard I've changed the docs to only list the new headers for each standard. * doc/xml/manual/test.xml: Improve documentation on writing tests for newer standards. * doc/xml/manual/using.xml: Document all headers

Re: [18/46] Make SLP_TREE_SCALAR_STMTS a vec

2018-07-31 Thread Richard Sandiford
Richard Biener writes: > On Tue, Jul 24, 2018 at 12:01 PM Richard Sandiford > wrote: >> >> This patch changes SLP_TREE_SCALAR_STMTS from a vec to >> a vec. It's longer than the previous conversions >> but mostly mechanical. > > OK. I don't remember exactly but vect_external_def SLP nodes have

[PATCH,nvptx] Use CUDA driver API to select default runtime launch, geometry

2018-07-31 Thread Cesar Philippidis
The attached patch teaches libgomp how to use the CUDA thread occupancy calculator built into the CUDA driver. Despite both being based off the CUDA thread occupancy spreadsheet distributed with CUDA, the built in occupancy calculator differs from the occupancy calculator in og8 in two key ways.

Re: [Patch, fortran] A first small step towards CFI descriptor implementation

2018-07-31 Thread Richard Biener
On Tue, Jul 31, 2018 at 2:07 PM Paul Richard Thomas wrote: > > Daniel Celis Garza and Damian Rouson have developed a runtime library > and include file for the TS 29113 and F2018 C descriptors. > https://github.com/sourceryinstitute/ISO_Fortran_binding > > The ordering of types is different to

[PATCH] Replace safe bool idiom with explicit operator bool

2018-07-31 Thread Jonathan Wakely
* include/ext/pointer.h [__cplusplus >= 201103L] (_Pointer_adapter::operator bool): Add explicit conversion operator to replace safe bool idiom. Tested powerpc64le-linux, committed to trunk. commit 791062941cf5c4b93153bfd10d5bb9b0ac78d301 Author: Jonathan Wakely Date:

Re: [PATCH] convert braced initializers to strings (PR 71625)

2018-07-31 Thread Martin Sebor
On 07/31/2018 07:38 AM, Jason Merrill wrote: On Tue, Jul 31, 2018 at 9:51 AM, Martin Sebor wrote: The middle-end contains code to determine the lengths of constant character arrays initialized by string literals. The code is used in a number of optimizations and warnings. However, the code

Re: [PATCH] Make GO string literals properly NUL terminated

2018-07-31 Thread Ian Lance Taylor
On Tue, Jul 31, 2018 at 5:14 AM, Bernd Edlinger wrote: > > could someone please review this patch and check it in into the GO FE? I don't understand why the change is correct, and you didn't explain it. Go strings are not NUL terminated. Go strings always have an associated length. Ian

[PATCH], Improve PowerPC switch behavior on medium code model system

2018-07-31 Thread Michael Meissner
I noticed that the switch code on PowerPC little endian systems (with medium code mode) did not follow the ABI in terms of page 69: Table 2.36. Position-Independent Switch Code for Small/Medium Models (preferred, with TOC-relative addressing) The code we currently generate is:

Re: [C++ PATCH] Implement P0595R1 - so far as __builtin_is_constant_evaluated rather than std::is_constant_evaluated magic builtin

2018-07-31 Thread Jason Merrill
On Mon, Jul 23, 2018 at 8:50 PM, Richard Biener wrote: > On Mon, Jul 23, 2018 at 12:28 PM Jakub Jelinek wrote: >> >> On Mon, Jul 23, 2018 at 12:17:42PM +0200, Richard Biener wrote: >> > > Bootstrapped/regtested on x86_64-linux. >> > >> > Thanks for working on this. I wonder if we can completely

Re: [PATCH 5/5] Formatted printing for dump_* in the middle-end

2018-07-31 Thread Richard Biener
On Tue, Jul 31, 2018 at 4:21 PM Richard Biener wrote: > > On Tue, Jul 31, 2018 at 4:19 PM David Malcolm wrote: > > > > On Tue, 2018-07-31 at 15:03 +0200, Richard Biener wrote: > > > On Fri, Jul 27, 2018 at 11:49 PM David Malcolm > > > wrote: > > > > > > > > This patch converts dump_print and

Re: [PATCH] libbacktrace: Move define of HAVE_ZLIB into check for -lz

2018-07-31 Thread Ian Lance Taylor via gcc-patches
On Sun, Jul 29, 2018 at 7:50 AM, Iain Buclaw wrote: > > This is really to suppress the default action-if-found for > AC_CHECK_LIBS. Zlib is not a dependency of libbacktrace, and so it > shouldn't be added to LIBS. When looking at the check, saw that could > remove the test for

Re: [PATCH 5/5] Formatted printing for dump_* in the middle-end

2018-07-31 Thread Richard Biener
On Tue, Jul 31, 2018 at 4:19 PM David Malcolm wrote: > > On Tue, 2018-07-31 at 15:03 +0200, Richard Biener wrote: > > On Fri, Jul 27, 2018 at 11:49 PM David Malcolm > > wrote: > > > > > > This patch converts dump_print and dump_printf_loc from using > > > printf (and thus ATTRIBUTE_PRINTF) to

Re: [PATCH 5/5] Formatted printing for dump_* in the middle-end

2018-07-31 Thread David Malcolm
On Tue, 2018-07-31 at 15:03 +0200, Richard Biener wrote: > On Fri, Jul 27, 2018 at 11:49 PM David Malcolm > wrote: > > > > This patch converts dump_print and dump_printf_loc from using > > printf (and thus ATTRIBUTE_PRINTF) to using a new pretty-printer > > based on pp_format, which supports

Re: [C++2A] Implement P1008R1 - prohibit aggregates with user-declared constructors

2018-07-31 Thread Jason Merrill
On Mon, Jul 30, 2018 at 9:01 PM, Jakub Jelinek wrote: > Seems what is considered an aggregate type keeps changing in every single > C++ version. Indeed :/ > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? This is OK. I think we could also use a -Wc++2a-compat warning, and

Re: [PATCH] combine: Allow combining two insns to two insns

2018-07-31 Thread Segher Boessenkool
On Tue, Jul 31, 2018 at 05:39:37AM -0700, H.J. Lu wrote: > For > > --- > #define N 16 > float f[N]; > double d[N]; > int n[N]; > > __attribute__((noinline)) void > f3 (void) > { > int i; > for (i = 0; i < N; i++) > d[i] = f[i]; > } > --- > > r263067 improved -O3 -mavx2 -mtune=generic

Re: [PATCH 0/5] dump_printf support for middle-end types

2018-07-31 Thread David Malcolm
On Tue, 2018-07-31 at 14:50 +0200, Richard Biener wrote: > On Fri, Jul 27, 2018 at 11:47 PM David Malcolm > wrote: > > > > This patch kit converts dump_print and dump_printf_loc from using > > fprintf etc internally to using a new pretty-printer > > based on pp_format, which supports formatting

Re: [PATCH] combine: Allow combining two insns to two insns

2018-07-31 Thread Segher Boessenkool
Hi Christophe, On Tue, Jul 31, 2018 at 02:34:06PM +0200, Christophe Lyon wrote: > Since this was committed, I've noticed regressions > on aarch64: > FAIL: gcc.dg/zero_bits_compound-1.c scan-assembler-not \\(and: This went from and w0, w0, 255 lsl w1, w0, 8 orr

Re: [PATCH] convert braced initializers to strings (PR 71625)

2018-07-31 Thread Jason Merrill
On Tue, Jul 31, 2018 at 9:51 AM, Martin Sebor wrote: > The middle-end contains code to determine the lengths of constant > character arrays initialized by string literals. The code is used > in a number of optimizations and warnings. > > However, the code is unable to deal with constant arrays

Re: [PATCH, ARM] PR85434: Prevent spilling of stack protector guard's address on ARM

2018-07-31 Thread Kyrill Tkachov
Hi Thomas, On 25/07/18 14:28, Thomas Preudhomme wrote: Hi Kyrill, Using memory_operand worked, the issues I encountered when using it in earlier versions of the patch must have been due to the missing test on address_operand in the preparation statements which I added later. Please find an

Re: [PATCH][c++] Fix DECL_BY_REFERENCE of clone parms

2018-07-31 Thread Jason Merrill
OK. On Tue, Jul 31, 2018 at 7:22 PM, Richard Biener wrote: > On Mon, 30 Jul 2018, Tom de Vries wrote: > >> Hi, >> >> Consider test.C compiled at -O0 -g: >> ... >> class string { >> public: >> string (const char *p) { this->p = p ; } >> string (const string ) { this->p = s.p; } >> >> private:

Re: [PATCH 4/5] c-family: clean up the data tables in c-format.c

2018-07-31 Thread Marek Polacek
On Tue, Jul 31, 2018 at 02:56:29PM +0200, Richard Biener wrote: > On Fri, Jul 27, 2018 at 11:48 PM David Malcolm wrote: > > > > The format_char_info tables in c-format.c for our own formats contain > > a lot of repetition. > > > > This patch adds a macro to express the conversion specifiers

Re: [PATCH] Fix DJGPP LTO with debug

2018-07-31 Thread Richard Biener
On Sat, 28 Jul 2018, Andris Pavenis wrote: > On 07/27/2018 11:51 PM, DJ Delorie wrote: > > Richard Biener writes: > > > DJ, did you ever run the testsuite with a configuration that has LTO > > > enabled? I don't see any djgpp results posted to gcc-testresults. > > > Quick googling doesn't yield

Re: [PATCH 5/5] Formatted printing for dump_* in the middle-end

2018-07-31 Thread Richard Biener
On Fri, Jul 27, 2018 at 11:49 PM David Malcolm wrote: > > This patch converts dump_print and dump_printf_loc from using > printf (and thus ATTRIBUTE_PRINTF) to using a new pretty-printer > based on pp_format, which supports formatting middle-end types. > > In particular, the following codes are

Re: [PATCH] combine: Allow combining two insns to two insns

2018-07-31 Thread Richard Sandiford
Christophe Lyon writes: > On Mon, 30 Jul 2018 at 18:09, Segher Boessenkool > wrote: >> >> On Tue, Jul 24, 2018 at 05:18:41PM +, Segher Boessenkool wrote: >> > This patch allows combine to combine two insns into two. This helps >> > in many cases, by reducing instruction path length, and

Re: [PATCH 4/5] c-family: clean up the data tables in c-format.c

2018-07-31 Thread Richard Biener
On Fri, Jul 27, 2018 at 11:48 PM David Malcolm wrote: > > The format_char_info tables in c-format.c for our own formats contain > a lot of repetition. > > This patch adds a macro to express the conversion specifiers implemented > within pp_format, making it clearer which are custom ones added by

Re: [PATCH 2/5] dumpfile.c: eliminate special-casing of dump_file/alt_dump_file

2018-07-31 Thread Richard Biener
On Fri, Jul 27, 2018 at 11:48 PM David Malcolm wrote: > > With the addition of optinfo, the various dump_* calls had three parts: > - optionally print to dump_file > - optionally print to alt_dump_file > - optionally make an optinfo_item and add it to the pending optinfo, > creating it for

Re: [PATCH 1/5] Simplify dump_context by adding a dump_loc member function

2018-07-31 Thread Richard Biener
On Fri, Jul 27, 2018 at 11:48 PM David Malcolm wrote: > > This patch removes some duplicated code in dumpfile.c by > reimplementing the various dump_foo_loc calls in terms of dump_foo. OK. Richard. > gcc/ChangeLog: > * dump-context.h (dump_context::dump_loc): New decl. > *

Re: [PATCH 0/5] dump_printf support for middle-end types

2018-07-31 Thread Richard Biener
On Fri, Jul 27, 2018 at 11:47 PM David Malcolm wrote: > > This patch kit converts dump_print and dump_printf_loc from using > fprintf etc internally to using a new pretty-printer > based on pp_format, which supports formatting middle-end types. > > In particular, the following codes are

Re: [PR 80689] Copy small aggregates element-wise

2018-07-31 Thread Richard Biener
On Tue, Jul 24, 2018 at 3:47 PM Martin Jambor wrote: > > Hi, > > I'd like to propose again a new variant of a fix that I sent here in > November (https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00881.html) that > avoids store-to-load forwarding stalls in the ImageMagick benchmark by > expanding

Re: [PATCH] combine: Allow combining two insns to two insns

2018-07-31 Thread H.J. Lu
On Wed, Jul 25, 2018 at 1:28 AM, Richard Biener wrote: > On Tue, Jul 24, 2018 at 7:18 PM Segher Boessenkool > wrote: >> >> This patch allows combine to combine two insns into two. This helps >> in many cases, by reducing instruction path length, and also allowing >> further combinations to

Re: [PATCH] arm: Testcase for PR86640

2018-07-31 Thread Kyrill Tkachov
Hi Segher, On 31/07/18 13:14, Segher Boessenkool wrote: Hi Kyrill, As before, untested. Is this okay for trunk, or will you handle it yourself (or will someone else do it?) This is ok. Thanks, Kyrill Segher 2018-07-31 Segher Boessenkool gcc/testsuite/ PR target/86640

Re: [PATCH] combine: Allow combining two insns to two insns

2018-07-31 Thread Christophe Lyon
On Mon, 30 Jul 2018 at 18:09, Segher Boessenkool wrote: > > On Tue, Jul 24, 2018 at 05:18:41PM +, Segher Boessenkool wrote: > > This patch allows combine to combine two insns into two. This helps > > in many cases, by reducing instruction path length, and also allowing > > further

Re: [PATCH] Fix the damage done by my other patch from yesterday to strlenopt-49.c

2018-07-31 Thread Bernd Edlinger
On 07/30/18 15:03, Richard Biener wrote: > On Mon, 30 Jul 2018, Bernd Edlinger wrote: > >> Hi, >> >> this is how I would like to handle the over length strings issue in the C FE. >> If the string constant is exactly the right length and ends in one explicit >> NUL character, shorten it by one

[PATCH] Make GO string literals properly NUL terminated

2018-07-31 Thread Bernd Edlinger
Hi, could someone please review this patch and check it in into the GO FE? Thanks Bernd. 2018-07-31 Bernd Edlinger * go-gcc.cc (Gcc_backend::string_constant_expression): Make string literal properly NUL terminated. diff -pur gcc/go/go-gcc.cc gcc/go/go-gcc.cc --- gcc/go/go-gcc.cc

[PATCH] arm: Testcase for PR86640

2018-07-31 Thread Segher Boessenkool
Hi Kyrill, As before, untested. Is this okay for trunk, or will you handle it yourself (or will someone else do it?) Segher 2018-07-31 Segher Boessenkool gcc/testsuite/ PR target/86640 * gcc.target/arm/pr86640.c: New testcase. --- gcc/testsuite/gcc.target/arm/pr86640.c

[PATCH] [Ada] Make middle-end string literals NUL terminated

2018-07-31 Thread Bernd Edlinger
Hi! This fixes a couple STRING_CST that are not explicitly NUL terminated. These were caught in a new check in varasm.c I am currently working on. Having a NUL terminated string does not change the binary output, but it makes things easier for he middle-end. Bootstrapped and reg-tested on

[Patch, fortran] A first small step towards CFI descriptor implementation

2018-07-31 Thread Paul Richard Thomas
Daniel Celis Garza and Damian Rouson have developed a runtime library and include file for the TS 29113 and F2018 C descriptors. https://github.com/sourceryinstitute/ISO_Fortran_binding The ordering of types is different to the current 'bt' enum in libgfortran.h. This patch interchanges

Re: [46/46] Turn stmt_vec_info back into a typedef

2018-07-31 Thread Richard Biener
On Tue, Jul 24, 2018 at 12:11 PM Richard Sandiford wrote: > > This patch removes the stmt_vec_info wrapper class added near the > beginning of the series and turns stmt_vec_info back into a typedef. > OK. For the whole series now if I didn't miss anything... Richard. > 2018-07-24 Richard

Re: [45/46] Remove vect_stmt_in_region_p

2018-07-31 Thread Richard Biener
On Tue, Jul 24, 2018 at 12:11 PM Richard Sandiford wrote: > > Unlike the old vinfo_for_stmt, vec_info::lookup_stmt can cope with > any statement, so there's no need to check beforehand that the statement > is part of the vectorisable region. This means that there are no longer > any calls to

  1   2   >