Re: Cleanup DECL streaming

2018-06-22 Thread Richard Biener
On Thu, 21 Jun 2018, Jan Hubicka wrote: > Hi, > this problem here seems to be that is_cxx returns true and at the same > time auto_die and decltype_auto_die is not initialized. Here die==NULL > and we end up calling add_type_attribute for random reasons. > > I am testing the following but I am no

Re: Cleanup DECL streaming

2018-06-22 Thread Richard Biener
On Thu, 21 Jun 2018, Jan Hubicka wrote: > Hi > with -flto -g -O2 -r -nostdlib -flinker-output=nolto-rel I get ICE on: I can't reproduce the ICE on TOT with your patch applied. > ./xg++ t.ii -B. -g -flto -O2 -r -nostdlib -flinker-output=nolto-rel cc1plus: warning: command line option ‘-flinker-o

Re: Have g++ define _FILE_OFFSET_BITS=64 on Solaris

2018-06-22 Thread Rainer Orth
Hi Jonathan, > On 21/06/18 16:49 +0200, Rainer Orth wrote: >>Hi Jonathan, >> >>> No objection to this patch, but I'll just note that we have >>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81091 suggesting we >>> should use LFS for libstdc++ unconditionally. >> >>seems like a wise move to me. Th

Re: Have g++ define _FILE_OFFSET_BITS=64 on Solaris

2018-06-22 Thread Rainer Orth
Hi Franz, > No idea about possible problems, but isn't it usually recommended to use > either _FILE_OFFSET_BITS=64 or _LARGEFILE{64}_SOURCE=1, not both at the > same time? quite the contrary: for regular largefile support, you're supposed to use `getconf LFS_CFLAGS', i.e. -D_LARGEFILE_SOURCE -D_F

[PATCH v2] Add HXT Phecda core support

2018-06-22 Thread Hongbo Zhang
HXT semiconductor's CPU core Phecda, as a variant of Qualcomm qdf24xx, reuses the same tuning structure and pipeline with it. 2018-06-19 Hongbo Zhang * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add phecda core. * config/aarch64/aarch64-tune.md: Regenerate. * doc/

Re: Do not emit unnecessary NOPs at -O0

2018-06-22 Thread Richard Biener
On Thu, Jun 21, 2018 at 9:37 PM Jeff Law wrote: > > On 06/21/2018 11:04 AM, Eric Botcazou wrote: > > When code is compiled at -O0, the RTL middle-end makes sure that location > > information is preserved as much as possible by generating NOPs with the > > location information (goto_locus) present

[PATCH 0/3][POPCOUNT]

2018-06-22 Thread Kugan Vivekanandarajah
When we set niter with maybe_zero, currently final_value_relacement will not happen due to expression_expensive_p not handling. Patch 1 adds this. With that we have the following optimized gimple. [local count: 118111601]: if (b_4(D) != 0) goto ; [89.00%] else goto ; [11.00%] [

[PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p

2018-06-22 Thread Kugan Vivekanandarajah
[PATCH 1/3][POPCOUNT] Handle COND_EXPR in expression_expensive_p gcc/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * tree-scalar-evolution.c (expression_expensive_p): Handle COND_EXPR. From aa38b98dd97567c6032c261f19b3705abc2233b0 Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandarajah Date

Re: [patch] Do not leak location information during inlining

2018-06-22 Thread Eric Botcazou
> Similar factoring of remap_location and copying/remapping edges goto_locus > is a fix worth splitting out (and backporting eventually if a need arises). Tentative patch attached, it passed basic testing. I'll do a full testing cycle if this is the way to go. * tree-inline.c (remap_l

[PATCH 2/3][POPCOUNT] Check if zero check is done before entering the loop

2018-06-22 Thread Kugan Vivekanandarajah
gcc/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * tree-ssa-loop-niter.c (number_of_iterations_popcount): If popcount argument is checked for zero before entering loop, avoid checking again. From 4f2a6ad5a49eec0a1cae15e033329f889f9137b9 Mon Sep 17 00:00:00 2001 From: Kugan Vivekanandar

[PATCH 3/3][POPCOUNT] Remove unnecessary if condition in phiopt

2018-06-22 Thread Kugan Vivekanandarajah
gcc/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * tree-ssa-phiopt.c (cond_removal_in_popcount_pattern): New. (tree_ssa_phiopt_worker): Call cond_removal_in_popcount_pattern. gcc/testsuite/ChangeLog: 2018-06-22 Kugan Vivekanandarajah * gcc.dg/tree-ssa/popcount3.c: New test. F

[PATCH] Fix emission of jump tables (PR tree-optimization/86263).

2018-06-22 Thread Martin Liška
Hello. Quite obvious patch where I accidentally removed check for: if (!targetm.have_casesi () && !targetm.have_tablejump ()) Patch can bootstrap on ppc64le-redhat-linux and survives regression tests. Ready to be installed? Martin gcc/ChangeLog: 2018-06-21 Martin Liska PR tree-opti

[PATCH] Fix clustering algorithm in switch expansion.

2018-06-22 Thread Martin Liška
Hi. For correctness of clustering algorithm: https://www.semanticscholar.org/paper/Short-Communication%3A-Correction-to-'Producing-Good-Kannan-Proebsting/311091fb9fb9d38f7b76e768a603c02acc799fe0 one needs to allow single case clusters as possible. Note that we never end with a jump table, or a bi

[ping] Improve specs processing to allow %* in function arguments

2018-06-22 Thread Olivier Hainque
Hello, ping for https://gcc.gnu.org/ml/gcc-patches/2018-06/msg00228.html > On 5 Jun 2018, at 16:13, Olivier Hainque wrote: > The attached patch is a proposal to improve specs processing > so %* works in spec function arguments (it doesn't as of today). Thanks in advance! With Kind Regards, O

Re: Have g++ define _FILE_OFFSET_BITS=64 on Solaris

2018-06-22 Thread Franz Sirl
Am 2018-06-22 um 09:51 schrieb Rainer Orth: Hi Franz, No idea about possible problems, but isn't it usually recommended to use either _FILE_OFFSET_BITS=64 or _LARGEFILE{64}_SOURCE=1, not both at the same time? quite the contrary: for regular largefile support, you're supposed to use `getconf

Re: [PATCH 2/4] Switch other switch expansion methods into classes.

2018-06-22 Thread Martin Liška
On 06/20/2018 05:16 PM, Jeff Law wrote: > On 06/20/2018 05:25 AM, Steven Bosscher wrote: >> On Tue, Jun 12, 2018 at 10:44 PM, Jeff Law wrote: >>> On 06/05/2018 01:15 AM, marxin wrote: + The definition of "much bigger" depends on whether we are + optimizing for size or for spe

Re: [PATCH] Fix emission of jump tables (PR tree-optimization/86263).

2018-06-22 Thread Richard Biener
On Fri, Jun 22, 2018 at 11:21 AM Martin Liška wrote: > > Hello. > > Quite obvious patch where I accidentally removed check for: > if (!targetm.have_casesi () && !targetm.have_tablejump ()) > > Patch can bootstrap on ppc64le-redhat-linux and survives regression tests. > > Ready to be installed? OK

[PATCH][1/3] Refactor SIMD lane handling in vect_find_stmt_data_reference

2018-06-22 Thread Richard Biener
This is a prerequesite for sharing dataref and dependence analysis results between different vector size vectorization attempts. Bootstrapped on x86_64-unknown-linux-gnu (with 2/3 included), testing in progress. Richard. >From 9b406b12269d2a0fe86591df862c2ffd0197df37 Mon Sep 17 00:00:00 2001 F

[PATCH][2/3] Share dataref and dependence analysis for multi-vector size vectorization

2018-06-22 Thread Richard Biener
This is the main part to make considering multiple vector sizes based on costs less compile-time costly. It shares dataref analysis and dependence analysis for loop vectorization (BB vectorization is only adjusted to comply with the new APIs sofar). Sharing means that DRs (and of course DDRs) m

[PATCH][3/3] Consider multiple vector sizes for vectorization based on cost

2018-06-22 Thread Richard Biener
The following makes the vectorizer consider all vector sizes as advertised by targetm.vectorize.autovectorize_vector_sizes and decide on which vector size to use based on costs. Given comparing costs is difficult if you do not know the number of scalar iterations the patch simply uses the cost o

Re: [PATCH 1/3] Introduce auto_string_vec class.

2018-06-22 Thread Martin Liška
On 06/20/2018 04:41 PM, David Malcolm wrote: > On Mon, 2018-05-14 at 14:50 +0200, Martin Liška wrote: >> First part with introduction of auto_string_vec class. >> > > FWIW, I'm fine with the changes to the jit subdir, but I don't think I > have approval rights on the vec.h changes. Hi. Good, I'l

Re: [PATCH 2/3] Refactoring to opt-suggestions.[ch].

2018-06-22 Thread Martin Liška
On 06/20/2018 04:57 PM, David Malcolm wrote: > On Mon, 2018-05-14 at 14:51 +0200, Martin Liška wrote: >> Second part refactors function from gcc.c into a new class >> option_proposer. >> >> Martin > > [...snip...] > > diff --git a/gcc/c-family/cppspec.c b/gcc/c-family/cppspec.c > index 1e0a8bcd29

Add support for dumping multiple dump files under one name

2018-06-22 Thread Jan Hubicka
Hi, this patch adds dumpfile support for dumps that come in multiple parts. This is needed for WPA stream-out dump since we stream partitions in parallel and the dumps would come up in random order. Parts are added by new parameter that is initialzed by default to -1 (no parts). One thing I ski

Re: [PATCH 3/3] Come up with new --completion option.

2018-06-22 Thread Martin Liška
On 06/20/2018 05:27 PM, David Malcolm wrote: > On Mon, 2018-05-14 at 14:51 +0200, Martin Liška wrote: >> Main part where I still need to write ChangeLog file and >> gcc.sh needs to be moved to bash-completions project. >> >> Martin > > As before, I'm not an official reviewer for it, but it touches

[PATCH][testsuite/guality] Be verbose about gdb version used

2018-06-22 Thread Tom de Vries
Hi, by default, guality invokes gdb with --quiet to avoid being unnecessarily verbose for each test. But as a consequence, we don't see which version of gdb is used. This patch adds printing of the full path to the gdb used, as well as the gdb version as printed by gdb. Tested on x86_64. OK fo

Re: [Patch, fortran] PR49630 - [OOP] ICE on obsolescent deferred-length type bound character function

2018-06-22 Thread Martin Liška
On 06/21/2018 05:25 PM, Steve Kargl wrote: > On Thu, Jun 21, 2018 at 09:03:47AM +0100, Paul Richard Thomas wrote: >> Ping! >> >>> 2018-06-19 Paul Thomas >>> >>> PR fortran/49630 >>> * resolve.c (resolve_contained_fntype): Change standard ref. >>> from F95 to F2003: C418. Correct a sp

[PATCH][testsuite/guality] Use buildarea gdb by default in combined build

2018-06-22 Thread Tom de Vries
Hi, when doing a combined build of gcc and binutils-gdb repos, guality still uses the gdb in PATH by default. This patch makes sure that quality uses the gdb from the combined build instead. Tested on x86_64. OK for trunk? Thanks, - Tom [testsuite/guality] Use buildarea gdb by default in comb

Re: [PATCH] PR libstdc++/70940 make pmr::resource_adaptor return aligned memory

2018-06-22 Thread Rainer Orth
Hi Jonathan, > PR libstdc++/70940 > * include/experimental/memory_resource (__resource_adaptor_common): > New base class. > (__resource_adaptor_common::_AlignMgr): Helper for obtaining aligned > pointer from unaligned, and vice versa. > (__resource_adaptor_imp::

Re: [PATCH] PR libstdc++/70940 make pmr::resource_adaptor return aligned memory

2018-06-22 Thread Jonathan Wakely
On 22/06/18 14:34 +0200, Rainer Orth wrote: Hi Jonathan, PR libstdc++/70940 * include/experimental/memory_resource (__resource_adaptor_common): New base class. (__resource_adaptor_common::_AlignMgr): Helper for obtaining aligned pointer from unaligned, an

Re: [PATCH] PR libstdc++/83328 add correct basic_string::insert for initializer_list

2018-06-22 Thread Rainer Orth
Hi Jonathan, > The SSO basic_string has a non-standard insert(iterator, initializer_list) > overload, from a C++0x draft. This adds the correct overload, while also > preserving the old one so that the old symbol is still exported from the > library. > > The COW basic_string doesn't have any of th

Re: [PATCH] PR libstdc++/83328 add correct basic_string::insert for initializer_list

2018-06-22 Thread Jonathan Wakely
On 22/06/18 14:51 +0200, Rainer Orth wrote: Hi Jonathan, The SSO basic_string has a non-standard insert(iterator, initializer_list) overload, from a C++0x draft. This adds the correct overload, while also preserving the old one so that the old symbol is still exported from the library. The COW

Re: [PATCH] PR libstdc++/70940 make pmr::resource_adaptor return aligned memory

2018-06-22 Thread Jonathan Wakely
On 22/06/18 13:42 +0100, Jonathan Wakely wrote: On 22/06/18 14:34 +0200, Rainer Orth wrote: Hi Jonathan, PR libstdc++/70940 * include/experimental/memory_resource (__resource_adaptor_common): New base class. (__resource_adaptor_common::_AlignMgr): Helper for obt

Re: [PATCH] PR libstdc++/83328 add correct basic_string::insert for initializer_list

2018-06-22 Thread Jonathan Wakely
On 22/06/18 13:54 +0100, Jonathan Wakely wrote: On 22/06/18 14:51 +0200, Rainer Orth wrote: Hi Jonathan, The SSO basic_string has a non-standard insert(iterator, initializer_list) overload, from a C++0x draft. This adds the correct overload, while also preserving the old one so that the old sy

Re: [PATCH] PR libstdc++/83328 add correct basic_string::insert for initializer_list

2018-06-22 Thread Christophe Lyon
Hi, On Fri, 22 Jun 2018 at 14:54, Jonathan Wakely wrote: > > On 22/06/18 14:51 +0200, Rainer Orth wrote: > >Hi Jonathan, > > > >> The SSO basic_string has a non-standard insert(iterator, initializer_list) > >> overload, from a C++0x draft. This adds the correct overload, while also > >> preservin

Re: [PATCH 3/3] Come up with new --completion option.

2018-06-22 Thread David Malcolm
On Fri, 2018-06-22 at 13:25 +0200, Martin Liška wrote: > On 06/20/2018 05:27 PM, David Malcolm wrote: > > On Mon, 2018-05-14 at 14:51 +0200, Martin Liška wrote: [...snip...] > > Thanks for working on this; the rest looks good to me (though as I > > said, I'm not officially a reviewer for this).

Re: [PATCH, rs6000] Backport Fix implementation of vec_packsu (vector unsigned long long, vector unsigned long long) built-in function

2018-06-22 Thread Kelvin Nilsen
This has been committed to trunk. Is this ok to backport to gcc6, gcc7, and gcc8? Thanks. On 6/19/18 2:30 PM, Segher Boessenkool wrote: > Hi! > > On Mon, Jun 18, 2018 at 11:29:55AM -0500, Kelvin Nilsen wrote: >> +/* A single vpkudus matches twice because this is compiled with -dp, >> + causin

Re: [PATCH ARM] Fix armv8-m multilib build failure with stdint.h

2018-06-22 Thread Andre Vieira (lists)
On 17/05/18 09:29, Kyrill Tkachov wrote: > > On 16/05/18 10:22, Jérôme Lambourg wrote: >> Hello Kyrill, >> >>> Thanks for the patch! To validate it your changes you can also look >>> at the disassembly >>> of the cmse.c binary in the build tree. If the binary changes with >>> your patch then that

Re: [ARM][PATCH] Make arm_cmse.h C99 compatible

2018-06-22 Thread Andre Vieira (lists)
On 05/06/18 11:18, Kyrill Tkachov wrote: > > On 05/06/18 11:03, Andre Vieira (lists) wrote: >> On 05/06/18 10:42, Kyrill Tkachov wrote: >>> Hi Andre, >>> >>> On 05/06/18 10:40, Andre Vieira (lists) wrote: Hi all, This patch makes the arm_cmse.h header file ISO C compliant. We were >

Re: [ARM][PATCH] Make arm_cmse.h C99 compatible

2018-06-22 Thread Kyrill Tkachov
On 22/06/18 14:56, Andre Vieira (lists) wrote: On 05/06/18 11:18, Kyrill Tkachov wrote: > > On 05/06/18 11:03, Andre Vieira (lists) wrote: >> On 05/06/18 10:42, Kyrill Tkachov wrote: >>> Hi Andre, >>> >>> On 05/06/18 10:40, Andre Vieira (lists) wrote: Hi all, This patch makes the

Re: [PATCH ARM] Fix armv8-m multilib build failure with stdint.h

2018-06-22 Thread Kyrill Tkachov
On 22/06/18 14:56, Andre Vieira (lists) wrote: On 17/05/18 09:29, Kyrill Tkachov wrote: > > On 16/05/18 10:22, Jérôme Lambourg wrote: >> Hello Kyrill, >> >>> Thanks for the patch! To validate it your changes you can also look >>> at the disassembly >>> of the cmse.c binary in the build tree. If

Re: [PATCH] PR libstdc++/83328 add correct basic_string::insert for initializer_list

2018-06-22 Thread Jonathan Wakely
On 22/06/18 14:13 +0100, Jonathan Wakely wrote: On 22/06/18 13:54 +0100, Jonathan Wakely wrote: On 22/06/18 14:51 +0200, Rainer Orth wrote: Hi Jonathan, The SSO basic_string has a non-standard insert(iterator, initializer_list) overload, from a C++0x draft. This adds the correct overload, whi

Re: [PATCH] PR libstdc++/83328 add correct basic_string::insert for initializer_list

2018-06-22 Thread Jonathan Wakely
On 22/06/18 15:14 +0200, Christophe Lyon wrote: Hi, On Fri, 22 Jun 2018 at 14:54, Jonathan Wakely wrote: On 22/06/18 14:51 +0200, Rainer Orth wrote: >Hi Jonathan, > >> The SSO basic_string has a non-standard insert(iterator, initializer_list) >> overload, from a C++0x draft. This adds the cor

libgo patch committed: Remove syscall.Ustat

2018-06-22 Thread Ian Lance Taylor
Reportedly glibc 2.28 removes the ustat.h header file and the ustat function. This breaks libgo, which provides syscall.Ustat that calls the C ustat function. Fix this by removing syscall.Ustat from libgo. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline, GCC 8 bra

[PATCH, rs6000] Change word selector to prefered location for vec_insert builtin

2018-06-22 Thread Carl Love
GCC Maintainers: The following patch changes the word selected when extracting the word from the second vector to insert into the first vector by the vec_insert() builtin. Specifically, the test case vector float fn2 (float a,

[PATCH, committed] fix pdp11 target test failures

2018-06-22 Thread Paul Koning
This patch fixes a number of test suite failures caused by data too large for the address space or alignment larger than supported by this target. paul testsuite/ChangeLog: 2018-06-22 Paul Koning * gcc.c-torture/execute/builtins/lib/chk.c: Use smaller alignment if pd

[PATCH, rs6000] Add vec_extract builtin tests, fix arguments on existing tests

2018-06-22 Thread Carl Love
GCC Maintainers: The following patch adds tests for the vec_extract builtin. I also adjusts the second argument on the existing tests so they match the ABI, specifically an integer not a const integer. The patch has been tested on  powerpc64le-unknown-linux-gnu (Power 9 LE)   With no re

[patch] improve entry/exit instrumentation wrt trampolines

2018-06-22 Thread Olivier Hainque
Hello, Execution of the example program below shows that when a nested function is called by way of a stack trampoline, the -finstrument-functions hooks receive the address of the trampoline as the "this function" parameter. Receiving the actual function address would seem more useful for functio

Re: [patch] improve entry/exit instrumentation wrt trampolines

2018-06-22 Thread Olivier Hainque
> On 22 Jun 2018, at 17:44, Olivier Hainque wrote: > Receiving the actual function address would seem more > useful for function-instrumentation purposes, and this > patch adjusts the compiler to do that instead. > > 2018-06-22 Olivier Hainque > > * gimplify.c (gimplify_function_tree

Re: [Patch] Do not call the linker if we are creating precompiled header files

2018-06-22 Thread Steve Ellcey
On Tue, 2018-06-19 at 15:22 +, Joseph Myers wrote: >  > > What should plain > >   gcc -Wl,-rpath=/foo > > do?  Whatever it should do regarding trying to link or not trying to link, > it should do the same if you also name a header on the command line to be > compiled to a precompiled header.

Re: Do not emit unnecessary NOPs at -O0

2018-06-22 Thread Jeff Law
On 06/22/2018 02:39 AM, Richard Biener wrote: > On Thu, Jun 21, 2018 at 9:37 PM Jeff Law wrote: >> >> On 06/21/2018 11:04 AM, Eric Botcazou wrote: >>> When code is compiled at -O0, the RTL middle-end makes sure that location >>> information is preserved as much as possible by generating NOPs with

Re: [PATCH][testsuite/guality] Be verbose about gdb version used

2018-06-22 Thread Jeff Law
On 06/22/2018 05:35 AM, Tom de Vries wrote: > Hi, > > by default, guality invokes gdb with --quiet to avoid being unnecessarily > verbose for each test. But as a consequence, we don't see which version of > gdb is used. > > This patch adds printing of the full path to the gdb used, as well as th

Re: [PATCH][testsuite/guality] Use buildarea gdb by default in combined build

2018-06-22 Thread Jeff Law
On 06/22/2018 05:38 AM, Tom de Vries wrote: > Hi, > > when doing a combined build of gcc and binutils-gdb repos, guality still > uses the gdb in PATH by default. > > This patch makes sure that quality uses the gdb from the combined build > instead. > > Tested on x86_64. > > OK for trunk? > > T

Re: [PATCH 0/3][POPCOUNT]

2018-06-22 Thread Jeff Law
On 06/22/2018 03:11 AM, Kugan Vivekanandarajah wrote: > When we set niter with maybe_zero, currently final_value_relacement > will not happen due to expression_expensive_p not handling. Patch 1 > adds this. > > With that we have the following optimized gimple. > >[local count: 118111601]: >

Re: [PATCH 2/4] Switch other switch expansion methods into classes.

2018-06-22 Thread Jeff Law
On 06/22/2018 04:32 AM, Martin Liška wrote: > On 06/20/2018 05:16 PM, Jeff Law wrote: >> On 06/20/2018 05:25 AM, Steven Bosscher wrote: >>> On Tue, Jun 12, 2018 at 10:44 PM, Jeff Law wrote: On 06/05/2018 01:15 AM, marxin wrote: > + The definition of "much bigger" depends on whether we

Re: [PATCH 2/3] Refactoring to opt-suggestions.[ch].

2018-06-22 Thread Jeff Law
On 06/22/2018 05:07 AM, Martin Liška wrote: > On 06/20/2018 04:57 PM, David Malcolm wrote: >> On Mon, 2018-05-14 at 14:51 +0200, Martin Liška wrote: >>> Second part refactors function from gcc.c into a new class >>> option_proposer. >>> >>> Martin >> >> [...snip...] >> >> diff --git a/gcc/c-family/

Re: [PATCH 3/3] Come up with new --completion option.

2018-06-22 Thread Jeff Law
On 06/22/2018 05:25 AM, Martin Liška wrote: > On 06/20/2018 05:27 PM, David Malcolm wrote: >> On Mon, 2018-05-14 at 14:51 +0200, Martin Liška wrote: >>> Main part where I still need to write ChangeLog file and >>> gcc.sh needs to be moved to bash-completions project. >>> >>> Martin >> >> As before,

Re: [patch] improve entry/exit instrumentation wrt trampolines

2018-06-22 Thread Jeff Law
On 06/22/2018 09:47 AM, Olivier Hainque wrote: > > >> On 22 Jun 2018, at 17:44, Olivier Hainque wrote: > >> Receiving the actual function address would seem more >> useful for function-instrumentation purposes, and this >> patch adjusts the compiler to do that instead. >> >> 2018-06-22 Olivier

Re: PATCH to fix ICE with -Wint-conversion (PR middle-end/86202)

2018-06-22 Thread Jeff Law
On 06/18/2018 02:34 PM, Marek Polacek wrote: > This patch improves the checks in size_must_be_zero_p so that we don't > call get_range_info with SIZE of a pointer type. > > Bootstrapped/regtested on x86_64-linux, ok for trunk and 8? > > 2018-06-18 Marek Polacek > > PR middle-end/86202 >

Re: [PATCH 1/3] Introduce auto_string_vec class.

2018-06-22 Thread Jeff Law
On 06/22/2018 05:06 AM, Martin Liška wrote: > On 06/20/2018 04:41 PM, David Malcolm wrote: >> On Mon, 2018-05-14 at 14:50 +0200, Martin Liška wrote: >>> First part with introduction of auto_string_vec class. >>> >> FWIW, I'm fine with the changes to the jit subdir, but I don't think I >> have appro

Re: [PATCH] Fix clustering algorithm in switch expansion.

2018-06-22 Thread Jeff Law
On 06/22/2018 03:23 AM, Martin Liška wrote: > Hi. > > For correctness of clustering algorithm: > https://www.semanticscholar.org/paper/Short-Communication%3A-Correction-to-'Producing-Good-Kannan-Proebsting/311091fb9fb9d38f7b76e768a603c02acc799fe0 > > one needs to allow single case clusters as pos

[patch] refine getenv_spec_function fallback value for undefined variable

2018-06-22 Thread Olivier Hainque
Hello, getenv_spec_function features code to return a fake value for an undefined variable when we know that we shouldn't complain about the variable being undefined and that the variable value doesn't matter. This code is there to prevent errors about undefined variables referenced in specs when

Re: [patch] improve entry/exit instrumentation wrt trampolines

2018-06-22 Thread Olivier Hainque
Hi Jeff, > On 22 Jun 2018, at 18:13, Jeff Law wrote: > >>> * gimplify.c (gimplify_function_tree): Prevent creation >>> of a trampoline for the address of the current function >>> passed to entry/exit instrumentation hooks. > I was a little concerned about the TREE_NO_TRAMPOLINE bit,

Re: [PATCH 10/11] Fix LRA to handle multi-word eliminable registers

2018-06-22 Thread Jeff Law
On 06/21/2018 10:01 PM, Dimitar Dimitrov wrote: > On четвъртък, 21 юни 2018 г. 17:03:55 EEST Jeff Law wrote: >> On 06/21/2018 11:44 AM, Vladimir Makarov wrote: >>> On 06/13/2018 02:58 PM, Dimitar Dimitrov wrote: From: Dimitar Dimitrov For some targets, Pmode != UNITS_PER_WORD. Take

Re: [PATCH 03/11] testsuite: Add PRU tests

2018-06-22 Thread Jeff Law
On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > gcc/testsuite/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * gcc.target/pru/abi-arg-struct.c: New test. > * gcc.target/pru/ashiftrt.c: New test. > * gcc.target/pru/builtins-1.c: New test. > * gcc.target/pru/builtins-er

Re: [PATCH 04/11] testsuite: Add check for overflowed IMEM region to testsuite

2018-06-22 Thread Jeff Law
On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > PRU architecture supports maximum 256k program memory (IMEM). Some GCC > test cases manage to produce executables bigger than that. > > gcc/testsuite/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * lib/gcc-dg.exp: Bail on region overflo

Re: [PATCH 05/11] testsuite: Add check for unsupported TI ABI PRU features to testsuite

2018-06-22 Thread Jeff Law
On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > Not all C language features are supported when -mabi=ti option is > used for PRU target. > > gcc/testsuite/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * lib/gcc-dg.exp: Filter unsupported features in PRU's TI ABI mode. > * lib/t

Re: [PATCH 07/11] testsuite: Define PRU stack usage

2018-06-22 Thread Jeff Law
On 06/13/2018 12:58 PM, Dimitar Dimitrov wrote: > gcc/testsuite/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * gcc.dg/stack-usage-1.c: Define PRU stack usage. This is OK once the rest of the kit is approved. Jeff

Re: [PATCH 06/11] testsuite: Remove PRU from test cases requiring hosted environment

2018-06-22 Thread Jeff Law
On 06/13/2018 12:58 PM, Dimitar Dimitrov wrote: > gcc/testsuite/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for PRU. > * gcc.dg/20020312-2.c: No PIC register for PRU. This is OK once the rest of the kit is approved. jeff

Re: [PATCH 08/11] testsuite: Mark that PRU has one-cycle jumps

2018-06-22 Thread Jeff Law
On 06/13/2018 12:58 PM, Dimitar Dimitrov wrote: > gcc/testsuite/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * gcc.dg/tree-ssa/20040204-1.c: XFAIL on pru. > * gcc.dg/tree-ssa/reassoc-33.c: Ditto. > * gcc.dg/tree-ssa/reassoc-34.c: Ditto. > * gcc.dg/tree-ssa/reassoc-35.

Re: [PATCH 09/11] testsuite: Mark that PRU uses all function pointer bits

2018-06-22 Thread Jeff Law
On 06/13/2018 12:58 PM, Dimitar Dimitrov wrote: > gcc/testsuite/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * g++.old-deja/g++.abi/ptrmem.C: Add PRU to list. OK once the rest of the kit is approved. jeff

Re: [PATCH 02/11] Initial TI PRU libgcc port

2018-06-22 Thread Jeff Law
On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > The floating point support has been borrowed from C6X libgcc port > to help with TI PRU toolchain ABI compatibility. > > libgcc/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * config.host: Add PRU target. > * config/pru/asri.c: Ne

Re: [PATCH v3] Change default to -fno-math-errno

2018-06-22 Thread Joseph Myers
On Thu, 21 Jun 2018, Jeff Law wrote: > I think all this implies that the setting of -fno-math-errno by default > really depends on the math library in use since it's the library that > has to arrange for either errno to get set or for an exception to be raised. If the library does not set errno,

[C++ Patch] Use declspecs->locations more in grokdeclarator (and grokvardecl)

2018-06-22 Thread Paolo Carlini
Hi, this rather straightforward patch simply uses available location information - in the form of declspecs->locations - in diagnostic messages. In order to do that, the information is also propagated to bad_specifiers and mark_inline_variable. Tested x86_64-linux. Thanks, Paolo. //

Re: [PATCH/RFC] enable -Wstrict-prototypes (PR 82922)

2018-06-22 Thread Joseph Myers
On Thu, 21 Jun 2018, Eric Gallager wrote: > On 6/21/18, Jeff Law wrote: > > On 06/12/2018 11:21 AM, Joseph Myers wrote: > >> On Tue, 12 Jun 2018, Martin Sebor wrote: > >> > >>> The proposal to enable -Wstrict-prototypes discussed below > >>> was considered too late for GCC 8. I'd like to revive

[committed] Add another testcase for PR c++/85662

2018-06-22 Thread Jakub Jelinek
Hi! On the 7.x branch, without the fix offsetof2.C testcase passes at -O0, which is how it is compiled in the testsuite, and only fails at -O2. Thus, this patch adds a copy of that testcase to be compiled for -O2, so that it is tested too, and I'll backport then both the original fix and this new

Re: [PATCH 11/11] Increase MAX_MAX_OPERANDS limit

2018-06-22 Thread Jeff Law
On 06/13/2018 12:58 PM, Dimitar Dimitrov wrote: > The PRU load/store instructions can access memory with byte > granularity for all 30 of its 32-bit GP registers. Examples: > ># Load 17 bytes from address r0[0] into registers r10.b1-r14.b2 >lbbo r10.b1, r0, 0, 17 > ># Load 100 bytes f

Re: [PATCH, rs6000] Backport Fix implementation of vec_packsu (vector unsigned long long, vector unsigned long long) built-in function

2018-06-22 Thread Segher Boessenkool
On Fri, Jun 22, 2018 at 08:30:12AM -0500, Kelvin Nilsen wrote: > This has been committed to trunk. > > Is this ok to backport to gcc6, gcc7, and gcc8? Yes, but wait a few days please. Thanks! Segher

Re: [PATCH 11/11] Increase MAX_MAX_OPERANDS limit

2018-06-22 Thread Jakub Jelinek
On Fri, Jun 22, 2018 at 11:33:06AM -0600, Jeff Law wrote: > On 06/13/2018 12:58 PM, Dimitar Dimitrov wrote: > > The PRU load/store instructions can access memory with byte > > granularity for all 30 of its 32-bit GP registers. Examples: > > > ># Load 17 bytes from address r0[0] into registers

Re: [PATCH 01/11] Initial TI PRU GCC port

2018-06-22 Thread Jeff Law
On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * configure: Regenerate. > * configure.ac: Add PRU target. > > gcc/ChangeLog: > > 2018-06-13 Dimitar Dimitrov > > * config/pru/pru-ldst-multiple.md: Generate using pru-ldst-

Re: [C++ Patch] Use declspecs->locations more in grokdeclarator (and grokvardecl)

2018-06-22 Thread Jason Merrill
OK. On Fri, Jun 22, 2018 at 1:18 PM, Paolo Carlini wrote: > Hi, > > this rather straightforward patch simply uses available location information > - in the form of declspecs->locations - in diagnostic messages. In order to > do that, the information is also propagated to bad_specifiers and > mark

Re: [PATCH], PowerPC long double transition patches, v2, Patch #6 (fix long double tests for -mno-float128)

2018-06-22 Thread Michael Meissner
On Thu, Jun 21, 2018 at 06:12:52PM -0500, Segher Boessenkool wrote: > On Wed, Jun 20, 2018 at 10:49:41AM -0400, Michael Meissner wrote: > > These patches fix the tests in the testsuite that check whether > > -mno-float128 > > works properly. In these cases, I explicitly run them with long double

Re: [PATCH 02/11] Initial TI PRU libgcc port

2018-06-22 Thread Dimitar Dimitrov
On петък, 22 юни 2018 г. 10:55:29 EEST Jeff Law wrote: > On 06/13/2018 12:57 PM, Dimitar Dimitrov wrote: > > The floating point support has been borrowed from C6X libgcc port > > to help with TI PRU toolchain ABI compatibility. > > > > libgcc/ChangeLog: > > > > 2018-06-13 Dimitar Dimitrov > >

Re: [PATCH] Let env var CLICOLOR_FORCE set -fdiagnostics-color=always.

2018-06-22 Thread Jeff Law
On 06/12/2018 04:46 PM, Adam Borowski wrote: > Hi! > Here's a patch for Bugzilla 80271, to add support for env CLICOLOR_FORCE. > > Automated build environments -- and even some which you run by hand -- > redirect the output somewhere to save a log, even if they tee it to the > terminal anyway. Th

Re: [PATCH] Let env var CLICOLOR_FORCE set -fdiagnostics-color=always.

2018-06-22 Thread Adam Borowski
On Fri, Jun 22, 2018 at 02:08:27PM -0600, Jeff Law wrote: > On 06/12/2018 04:46 PM, Adam Borowski wrote: > > Here's a patch for Bugzilla 80271, to add support for env CLICOLOR_FORCE. > > > > Automated build environments -- and even some which you run by hand -- > > redirect the output somewhere to

[PATCH] [RFC] Higher-level reporting of vectorization problems

2018-06-22 Thread David Malcolm
NightStrike and I were chatting on IRC last week about issues with trying to vectorize the following code: #include std::size_t f(std::vector> const & v) { std::size_t ret = 0; for (auto const & w: v) ret += w.size(); return ret; } icc could vectorize it,

Re: [PATCH] c/55976 -Werror=return-type should error on returning a value from a void function

2018-06-22 Thread Jeff Law
On 06/19/2018 09:13 AM, dave.pa...@oracle.com wrote: > This patch fixes spurious failure for C test added with original patch > for bug 55976. > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55976 > > Added dg-prune-output for extraneous message causing unexpected test > failure for test gcc.dg/

Re: [PATCH] [PR86064] split single cross-partition range with nonzero locviews

2018-06-22 Thread Jeff Law
On 06/12/2018 08:02 PM, Alexandre Oliva wrote: > > We didn't split cross-partition ranges in loclists to output a > whole-function location expression, but with nonzero locviews, we > force loclists, and then we have to split to avoid cross-partition > list entries. > > From: Alexandre Oliva > f

Re: [PATCH] When using -fprofile-generate=/some/path mangle absolute path of file (PR lto/85759).

2018-06-22 Thread Jeff Law
On 05/16/2018 05:53 AM, Martin Liška wrote: > On 12/21/2017 10:13 AM, Martin Liška wrote: >> On 12/20/2017 06:45 PM, Jakub Jelinek wrote: >>> Another thing is that the "/" in there is wrong, so >>> const char dir_separator_str[] = { DIR_SEPARATOR, '\0' }; >>> char *b = concat (profile_data_pref

Re: [x86] Do not omit the frame pointer at -O0

2018-06-22 Thread Jeff Law
On 06/20/2018 07:56 AM, Eric Botcazou wrote: > Hi, > > the fix for PR target/81736 unconditionally overrules > -fno-omit-frame-pointer, > including at -O0 where it is implicit. That seems brutal and unnecessary so > the attached patch reverts it at -O0 and thus fixes 135 failures in the GDB >

Re: [patch] add -nolibc option

2018-06-22 Thread Jeff Law
On 06/21/2018 11:06 AM, Olivier Hainque wrote: > Hello Joseph, > > Thanks for getting back to me on this! > >> On 19 Jun 2018, at 17:50, Joseph Myers wrote: >> >> On Thu, 7 Jun 2018, Olivier Hainque wrote: >> >>> An updated version of the patch is attached, accounting for >>> your two comments a

[PRs fortran/82972, fortran/83088, fortran/85851] Fix ICE with -finit-derived when using iso_c_binding

2018-06-22 Thread Fritz Reese
All, The attached patch generates special initializers for derived-type c_ptr and c_funptr symbols so they are handled correctly by the translation phase. Previously, an EXPR_STRUCTURE expression was generated for both types, as c_ptr and c_funptr are structure types with a c_address field. The c_

Re: [PATCH], PowerPC long double transition patches, v2, Patch #1 (disable long double multilib)

2018-06-22 Thread Michael Meissner
On Thu, Jun 21, 2018 at 02:22:50PM -0500, Segher Boessenkool wrote: > On Thu, Jun 21, 2018 at 01:26:19PM -0400, Michael Meissner wrote: > > On Thu, Jun 21, 2018 at 12:09:12PM -0500, Segher Boessenkool wrote: > > > > * config.gcc (powerpc64le*): Remove multilib support for IEEE > > > > and

[PATCH] Remove stale doc notes about netbsd and openbsd

2018-06-22 Thread Maya Rashish
That isn't a default any more because the default is 80486 with FPU. --- gcc/doc/invoke.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 9bb1a4910b2..f231da3cde2 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi

Backports to 7.x branch

2018-06-22 Thread Jakub Jelinek
Hi! I've backported following 61 trunk commits to 7.x branch (2 patches contain more than one commit), bootstrapped/regtested them on x86_64-linux and i686-linux and committed to 7.x branch. Jakub 2018-06-22 Jakub Jelinek Backported from mainline 2018-03-02 Jakub Jeli

Re: [PATCH] libiberty: fix memory usage explosion for invalid templates (PR demangler/84668)

2018-06-22 Thread Jeff Law
On 03/03/2018 05:48 AM, David Malcolm wrote: > PR demangler/84668 reports this failure of c++filt (found by fuzzing): > > $ c++filt '__H5z55_H5z555' > c++filt: out of memory allocating 18446744071696285694 bytes after a total of > 135168 bytes > > internal_cpl

[PATCH] Fix up AVX512F 128/256-bit shifts from using EVEX counts (PR target/84786)

2018-06-22 Thread Jakub Jelinek
Hi! The following testcase got fixed in 8/trunk with r253924 part of PR82370 enhancements, but that is not IMHO something we should backport. So instead the following patch adds something simpler, use Yv constraint for the DImode shift count in instructions that need AVX512VL when EVEX encoded if

C++ PATCHes for c++/86219, ICE with erroneous init in template

2018-06-22 Thread Jason Merrill
The problem in this testcase was that the initializer looked constant to is_nondependent_constant_expression, but instantiating it found the conversion error, but because fold_non_dependent_expr passed tf_none to the instantiation, we didn't give an error. store_init_value then happily stuck the e

[PATCH, rs6000] Fix AIX test case failures

2018-06-22 Thread Carl Love
GCC Maintainers: The following patch addresses test failures on AIX. The patch has been tested on powerpc64le-unknown-linux-gnu (Power 8 LE)   powerpc64-unknown-linux-gnu (Power 8 BE) AIX 7200-00-01-1543 (Power 8 BE) With no regressions. Please let me know if the patch looks OK

Re: [PATCH] avoid using strnlen result for late calls to strlen (PR 82604)

2018-06-22 Thread Jeff Law
On 06/18/2018 01:15 PM, Martin Sebor wrote: > While looking into opportunities to detect strnlen/strlen coding > mistakes (pr86199) I noticed a bug in the strnlen implementation > I committed earlier today that lets a strnlen() result be saved > and used in subsequent calls to strlen() with the sam

Re: [PATCH v2, rs6000] Fix implementation of vec_pack (vector double, vector double) built-in function

2018-06-22 Thread Kelvin Nilsen
Thanks for feedback. It turns out that the vmrgew and vmrgow instructions require power 8. After coordinating with Segher on minor refinements to the test cases, I have committed the patch as quoted below to the trunk. On 6/19/18 5:37 PM, Segher Boessenkool wrote: > Hi! > > On Tue, Jun 19, 20

  1   2   >