value_range_base::{non_zero_p, set_zero, set_non_zero}

2019-05-29 Thread Aldy Hernandez
Hi. We have zero_p in the API, but we don't have non_zero_p. Instead we use a non-API function range_is_nonnull. I've fixed this. I have also gotten rid of the duplicity of using the non-API range_is_null in favor of value_range_base::zero_p(). Furthermore, there's value_range*::set_null

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Jiufu Guo
Richard Biener writes: > On May 29, 2019 10:21:46 PM GMT+02:00, Jeff Law wrote: >>On 5/24/19 6:45 AM, Richard Biener wrote: >>[ Aggressive snipping ] >> >>> As said in my first review I'd just check whether for the >>> edge we want to thread through the definition comes from a CMP. >>> Suppose y

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Richard Biener
On May 29, 2019 10:21:46 PM GMT+02:00, Jeff Law wrote: >On 5/24/19 6:45 AM, Richard Biener wrote: >[ Aggressive snipping ] > >> As said in my first review I'd just check whether for the >> edge we want to thread through the definition comes from a CMP. >> Suppose you have >> >> # val_1 = PHI >>

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Richard Biener
On May 29, 2019 10:18:01 PM GMT+02:00, Jeff Law wrote: >On 5/23/19 6:11 AM, Richard Biener wrote: >> On Thu, 23 May 2019, Jiufu Guo wrote: >> >>> Hi, >>> >>> Richard Biener writes: >>> On Tue, 21 May 2019, Jiufu Guo wrote: > > +} > + > + if (TREE_CODE_CLASS (gimple_assign_r

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Richard Biener
On May 29, 2019 10:12:31 PM GMT+02:00, Jeff Law wrote: >On 5/23/19 6:05 AM, Jiufu Guo wrote: >> Hi, >> >> Richard Biener writes: >> >>> On Tue, 21 May 2019, Jiufu Guo wrote: >>> > +/* Return true if PHI's INDEX-th incoming value is a CMP, and the >CMP is + defined in the inco

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Jiufu Guo
Jeff Law writes: > On 5/23/19 6:11 AM, Richard Biener wrote: >> On Thu, 23 May 2019, Jiufu Guo wrote: >> >>> Hi, >>> >>> Richard Biener writes: >>> On Tue, 21 May 2019, Jiufu Guo wrote: > > +} > + > + if (TREE_CODE_CLASS (gimple_assign_rhs_code (def)) != tcc_comparison) >>

Re: [PATCH] PR libstdc++/71579 assert that type traits are not misused with an incomplete type

2019-05-29 Thread Antony Polukhin
чт, 9 мая 2019 г. в 00:10, Jonathan Wakely : > > On 06/05/19 14:19 +0300, Antony Polukhin wrote: > >@@ -924,14 +984,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > template > > struct is_default_constructible > > : public __is_default_constructible_safe<_Tp>::type > >-{ }; > >+{ > >+

[PATCH] rs6000: Update test cases to use powerpc_future_ok

2019-05-29 Thread Bill Schmidt
Hi, This patch updates test cases to use the new powerpc_future_ok effective target. Tested on powerpc64le-unknown-linux-gnu with no problems. Is this okay for trunk? Thanks, Bill 2019-05-29 Bill Schmidt Michael Meissner * gcc.target/powerpc/cpu-future.c: Require po

[PATCH] rs6000: Add target supports for "future" system

2019-05-29 Thread Bill Schmidt
Hi, This patch from Mike Meissner adds procs to target-supports.exp to support -mcpu=future. Tested in conjunction with the next patch (test cases) with no problems. Is this okay for trunk? Thanks, Bill 2019-05-29 Michael Meissner * lib/target-supports.exp (check_powerpc_future_hw

[PATCH] rs6000: Add basic support for prefixed and PC-relative addresses

2019-05-29 Thread Bill Schmidt
Hi, This patch adds basic infrastructure for prefixed and PC-relative addresses, including new predicates and functions to detect when they apply. Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Is this okay for trunk? Thanks, Bill 2019-05-29 Bill Schmidt

Go patch committed: Remove range-based for loop

2019-05-29 Thread Ian Lance Taylor
The Go frontend is currently supposed to use C++98. This patch by Than McIntosh removes a range based for loop that snuck in recently. This fixes PR 90669. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE ===

[PATCH v2] rs6000: Add undocumented switch -mprefixed-addr

2019-05-29 Thread Bill Schmidt
Hi, Here's another version of the -mprefixed-addr patch. I've attempted to address Segher's comments, other than the suggestion to merge OPTION_MASK_P8_FUSION_SIGN into OPTION_MASK_P8_FUSION, which I think is too big a rat's nest for this patch series. Bootstrapped and tested on powerpc64le-unkn

Re: libbacktrace integration for _GLIBCXX_DEBUG mode

2019-05-29 Thread Jonathan Wakely
On 23/05/19 07:39 +0200, François Dumont wrote: Hi     So here what I come up with.     _GLIBCXX_DEBUG_BACKTRACE controls the feature. If the user define it and there is a detectable issue with libbacktrace then I generate a compilation error. I want to avoid users defining it but having no

Re: [PATCH] Synchronize libstdc++ parallel algorithms with upstream project

2019-05-29 Thread Jonathan Wakely
On 29/05/19 23:53 +0100, Jonathan Wakely wrote: On 29/05/19 15:32 -0700, Thomas Rodgers wrote: * include/pstl/algorithm_fwd.h: Synchronize with upstream PSTL project. * include/pstl/algorithm_impl.h: Likewise. * include/pstl/execution_defs.h: Likewise. * i

Re: [PATCH] Synchronize libstdc++ parallel algorithms with upstream project

2019-05-29 Thread Jonathan Wakely
On 29/05/19 15:32 -0700, Thomas Rodgers wrote: * include/pstl/algorithm_fwd.h: Synchronize with upstream PSTL project. * include/pstl/algorithm_impl.h: Likewise. * include/pstl/execution_defs.h: Likewise. * include/pstl/execution_impl.h: Likewise. *

Re: [PATCH] Rename header guards to be consistent with upstream project's conventions.

2019-05-29 Thread Jonathan Wakely
On 29/05/19 15:30 -0700, Thomas Rodgers wrote: * include/pstl/glue_memory_impl.h: Rename all macros of the form _PSTL_(.*)_H to _PSTL_\U\1_H. * include/pstl/numeric_impl.h: Likewise. * include/pstl/glue_memory_defs.h: Likewise. * include/pstl/execution_def

[PATCH] Synchronize libstdc++ parallel algorithms with upstream project

2019-05-29 Thread Thomas Rodgers
* include/pstl/algorithm_fwd.h: Synchronize with upstream PSTL project. * include/pstl/algorithm_impl.h: Likewise. * include/pstl/execution_defs.h: Likewise. * include/pstl/execution_impl.h: Likewise. * include/pstl/glue_algorithm_impl.h: Likewise.

[PATCH] Rename header guards to be consistent with upstream project's conventions.

2019-05-29 Thread Thomas Rodgers
* include/pstl/glue_memory_impl.h: Rename all macros of the form _PSTL_(.*)_H to _PSTL_\U\1_H. * include/pstl/numeric_impl.h: Likewise. * include/pstl/glue_memory_defs.h: Likewise. * include/pstl/execution_defs.h: Likewise. * include/pstl/utils.h: Li

[wwwdocs] gcc-9/changes.html - refine LTO section

2019-05-29 Thread Gerald Pfeifer
Writing a commit log for the lang/gcc9 port on FreeBSD I noticed a few edits around the LTO improvements in the GCC 9 release notes (which, by the way, was a nice summary). Honza, I went ahead and committed these, but will be happy to refine/update should I have misunderstood anything or you'd li

Re: [PATCH] PR libstdc++/85494 use rdseed and rand_s in std::random_device

2019-05-29 Thread Jonathan Wakely
On 29/05/19 15:45 +0100, Jonathan Wakely wrote: Add support for additional sources of randomness to std::random_device, to allow using RDSEED for Intel CPUs and rand_s for Windows. When supported these can be selected using the tokens "rdseed" and "rand_s". For *-w64-mingw32 targets the "default"

Re: apply unary op to both sides of (vec_cond x cst1 cst2)

2019-05-29 Thread Marc Glisse
On Mon, 20 May 2019, Richard Biener wrote: On Sun, May 19, 2019 at 6:22 PM Marc Glisse wrote: Hello, I noticed this one with BIT_NOT_EXPR a while ago. C++ testcase because I haven't looked at gimplefe yet... OK. I wonder if there's any issue with -ftrapv and negate/abs of INT_MIN contain

[PATCH] PR libstdc++/88881 fix filesystem::symlink_status for Windows

2019-05-29 Thread Jonathan Wakely
The fix for PR 1 only added a workaround to filesystem::status, but filesystem::symlink_status is also affected by the _wstat bug and needs the same workaround. The recent change to optimize path::parent_path() means that the workaround can be simplified to just use parent_path(). PR

[PATCH] Optimize filesystem::path::parent_path()

2019-05-29 Thread Jonathan Wakely
Parsing a complete string is more efficient than appending each component one-by-one. * src/c++17/fs_path.cc (path::parent_path()): Create whole path at once instead of building it iteratively. Tested powerpc64le-linux and x86_64-w64-mingw32, committed to trunk. commit ed3d2a78

Re: [PATCH] rs6000: Add undocumented switch -mprefixed-addr

2019-05-29 Thread Segher Boessenkool
On Wed, May 29, 2019 at 03:26:27PM -0500, Bill Schmidt wrote: > >> @@ -36379,6 +36391,7 @@ static struct rs6000_opt_mask const > >> rs6000_opt_masks[] = > >>{ "power9-vector", OPTION_MASK_P9_VECTOR, false, > >> true }, > >>{ "powerpc-gfxopt", OPTION_MASK

Re: Simplify more EXACT_DIV_EXPR comparisons

2019-05-29 Thread Marc Glisse
On Mon, 20 May 2019, Richard Biener wrote: On Mon, May 20, 2019 at 10:16 AM Marc Glisse wrote: On Mon, 20 May 2019, Richard Biener wrote: On Sun, May 19, 2019 at 6:16 PM Marc Glisse wrote: Hello, 2 pieces: - the first one handles the case where the denominator is negative. It doesn't h

Re: RFC: [PATCH] Remove using-declarations that add std names to __gnu_cxx

2019-05-29 Thread Thomas Rodgers
Concur Ville Voutilainen writes: > On Wed, 29 May 2019 at 23:00, Jonathan Wakely wrote: >> Does anybody think we should keep __gnu_cxx::size_t, >> __gnu_cxx::input_iterator_tag, __gnu_cxx::vector, __gnu_cxx::pair etc. >> or should I go ahead and commit this? > > +1 go ahead.

Re: [PATCH] rs6000: Add undocumented switch -mprefixed-addr

2019-05-29 Thread Bill Schmidt
On 5/29/19 8:16 AM, Segher Boessenkool wrote: > Hi! > > On Wed, May 29, 2019 at 07:42:38AM -0500, Bill Schmidt wrote: >> * rs6000-cpus.def (OTHER_FUSION_MASKS): New #define. >> (ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PREFIXED_ADDR. Mask off >> OTHER_FUSION_MASKS. > Two spaces afte

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Jeff Law
On 5/24/19 6:45 AM, Richard Biener wrote: [ Aggressive snipping ] > As said in my first review I'd just check whether for the > edge we want to thread through the definition comes from a CMP. > Suppose you have > > # val_1 = PHI > if (val_1 != 0) > > and only one edge has a b_3 = d_5 != 0 con

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Jeff Law
On 5/23/19 6:11 AM, Richard Biener wrote: > On Thu, 23 May 2019, Jiufu Guo wrote: > >> Hi, >> >> Richard Biener writes: >> >>> On Tue, 21 May 2019, Jiufu Guo wrote: +} + + if (TREE_CODE_CLASS (gimple_assign_rhs_code (def)) != tcc_comparison) +return false; + >>>

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Jeff Law
On 5/23/19 6:05 AM, Jiufu Guo wrote: > Hi, > > Richard Biener writes: > >> On Tue, 21 May 2019, Jiufu Guo wrote: >> >>> >>> +/* Return true if PHI's INDEX-th incoming value is a CMP, and the CMP is >>> + defined in the incoming basic block. Otherwise return false. */ >>> +static bool >>> +

Re: [PATCH] A jump threading opportunity for condition branch

2019-05-29 Thread Jeff Law
On 5/21/19 7:44 AM, Jiufu Guo wrote: > Hi, > > This patch implements a new opportunity of jump threading for PR77820. > In this optimization, conditional jumps are merged with unconditional jump. > And then moving CMP result to GPR is eliminated. > > It looks like below: > > > p0 = a CMP b

Re: RFC: [PATCH] Remove using-declarations that add std names to __gnu_cxx

2019-05-29 Thread Ville Voutilainen
On Wed, 29 May 2019 at 23:00, Jonathan Wakely wrote: > Does anybody think we should keep __gnu_cxx::size_t, > __gnu_cxx::input_iterator_tag, __gnu_cxx::vector, __gnu_cxx::pair etc. > or should I go ahead and commit this? +1 go ahead.

RFC: [PATCH] Remove using-declarations that add std names to __gnu_cxx

2019-05-29 Thread Jonathan Wakely
These using-declarations appear to have been added for simplicity when moving the non-standard extensions from namespace std to namespace __gnu_cxx. Dumping all these names into namespace __gnu_cxx allows uses like __gnu_cxx::size_t and __gnu_cxx::pair, which serve no useful purpose, but allows cr

Re: Teach same_types_for_tbaa to structurally compare arrays, pointers and vectors

2019-05-29 Thread Jan Hubicka
Hi, this is a variant of testcase I have comitted. Once Martin implements SRA part, we could add next variant that drops -fno-tree-sra. It seems odd that constant propagation only happens in fre3. I woud expect fre1 to discover this already. The IL before fre1 and 3 differs only by: test () {

Re: libbacktrace integration for _GLIBCXX_DEBUG mode

2019-05-29 Thread Jonathan Wakely
On 23/05/19 07:39 +0200, François Dumont wrote: Hi     So here what I come up with.     _GLIBCXX_DEBUG_BACKTRACE controls the feature. If the user define it and there is a detectable issue with libbacktrace then I generate a compilation error. I want to avoid users defining it but having no

Re: [PATCH V2] A jump threading opportunity for condition branch

2019-05-29 Thread Jeff Law
On 5/29/19 6:36 AM, Richard Biener wrote: > On Tue, 28 May 2019, Jiufu Guo wrote: > >> Hi, >> >> This patch implements a new opportunity of jump threading for PR77820. >> In this optimization, conditional jumps are merged with unconditional >> jump. And then moving CMP result to GPR is eliminated.

Re: libbacktrace integration for _GLIBCXX_DEBUG mode

2019-05-29 Thread Jonathan Wakely
On 29/05/19 19:45 +0200, François Dumont wrote: On 5/29/19 12:06 AM, Jonathan Wakely wrote: On 23/05/19 07:39 +0200, François Dumont wrote: Hi     So here what I come up with.     _GLIBCXX_DEBUG_BACKTRACE controls the feature. If the user define Thanks for making this opt-in. it and there

Re: [Patch] Fix ix86_expand_sse_comi_round (PR Target/89750, PR Target/86444)

2019-05-29 Thread Jeff Law
On 5/9/19 10:54 PM, Hongtao Liu wrote: > On Fri, May 10, 2019 at 3:55 AM Jeff Law wrote: >> >> On 5/6/19 11:38 PM, Hongtao Liu wrote: >>> Hi Uros and GCC: >>> This patch is to fix ix86_expand_sse_comi_round whose implementation >>> was not correct. >>> New implentation aligns with _mm_cmp_roun

Re: [PATCH] rs6000: Add eI constraint for 34-bit constants

2019-05-29 Thread Segher Boessenkool
Hi! On Wed, May 29, 2019 at 01:08:28PM -0500, Bill Schmidt wrote: > +/* Whether a given VALUE is a valid 16- or 34-bit signed offset. EXTRA is > the > + amount that we can't touch at the high end of the range (typically if the > + address is split into smaller addresses, the extra covers the

[PATCH, i386]: Un-publish save/restore_multiple patterns

2019-05-29 Thread Uros Bizjak
These do not need to be public. 2019-05-29 Uroš Bizjak * config/i386/sse.md (*save_multiple): Rename from save_multiple. (*restore_multiple): Rename from restore_multiple. (*restore_multiple_and_return): Rename from restore_multiple_and_return. (*restore_multiple_leave_

Re: [patch, fortran] Fix wrong-code regression with netcdf and SPEC due to argument repacking

2019-05-29 Thread Steve Kargl
On Wed, May 29, 2019 at 01:15:52PM +0200, Thomas Koenig wrote: > > the attached patch fixes the wrong-code regression due to the > inline argument repacking patch, r271377. > > What had gone wrong? gfortran used to pack and unpack arrays > unconditionally passed to old-style assumed size or .

Re: [PATCH] RX: Add rx-*-linux target

2019-05-29 Thread Jeff Law
On 5/23/19 6:05 AM, Yoshinori Sato wrote: > I ported linux kernel to Renesas RX. > > rx-*-elf target output a binary different from the standard ELF. > It has the same format as the Renesas compiler. > > But the linux kernel requires the standard ELF format. > I want to define a rx-*-linux target

Re: [PATCH] gdbinit: add a new command and fix one

2019-05-29 Thread Segher Boessenkool
On Wed, May 29, 2019 at 10:14:58AM -0600, Jeff Law wrote: > On 5/29/19 3:46 AM, Martin Liška wrote: > > Hi. > > > > The patch is about a small change in .gdbinit file. > > > > Ready for trunk? > > Martin > > > > gcc/ChangeLog: > > > > 2019-05-29 Martin Liska > > > > * gdbinit.in: Fix 'p

Re: [C++ PATCH] Fix decltype on a trivial dtor with -flifetime-dse (PR c++/90598, take 2)

2019-05-29 Thread Jason Merrill
On 5/29/19 1:12 PM, Jakub Jelinek wrote: On Wed, May 29, 2019 at 12:31:52PM -0400, Jason Merrill wrote: On 5/24/19 4:21 AM, Jakub Jelinek wrote: The second patch fixes that by special casing void type MODIFY_EXPR, I believe if we have void type MODIFY_EXPR, then it can't be an lvalue. Any exp

[PATCH] rs6000: Add eI constraint for 34-bit constants

2019-05-29 Thread Bill Schmidt
Hi, This short patch introduces the eI constraint. It also adds the SIGNED_16BIT_OFFSET_P convenience macro that will be used in subsequent patches. Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Is this okay for trunk? Thanks, Bill 2019-05-29 Bill Schmidt

Re: [PATCH] warn on returning alloca and VLA (PR 71924, 90549)

2019-05-29 Thread Jeff Law
On 5/22/19 3:34 PM, Martin Sebor wrote: > -Wreturn-local-addr detects a subset of instances of returning > the address of a local object from a function but the warning > doesn't try to handle alloca or VLAs, or some non-trivial cases > of ordinary automatic variables[1]. > > The attached patch ex

Re: libbacktrace integration for _GLIBCXX_DEBUG mode

2019-05-29 Thread François Dumont
On 5/29/19 12:06 AM, Jonathan Wakely wrote: On 23/05/19 07:39 +0200, François Dumont wrote: Hi     So here what I come up with.     _GLIBCXX_DEBUG_BACKTRACE controls the feature. If the user define Thanks for making this opt-in. it and there is a detectable issue with libbacktrace then I g

[C++ PATCH] Fix decltype on a trivial dtor with -flifetime-dse (PR c++/90598, take 2)

2019-05-29 Thread Jakub Jelinek
On Wed, May 29, 2019 at 12:31:52PM -0400, Jason Merrill wrote: > On 5/24/19 4:21 AM, Jakub Jelinek wrote: > > The second patch fixes that by special casing void type MODIFY_EXPR, I > > believe if we have void type MODIFY_EXPR, then it can't be an lvalue. > > Any expression with void type is a prva

Re: [gomp] Add langhook, so that Fortran can privatize variables by reference

2019-05-29 Thread Thomas Schwinge
Hi Jakub! On Mon, 27 May 2019 18:49:20 +0200, Jakub Jelinek wrote: > On Sun, May 26, 2019 at 07:43:04PM +0200, Thomas Schwinge wrote: > > On Tue, 18 Oct 2005 03:01:40 -0400, Jakub Jelinek wrote: > > > --- gcc/omp-low.c.jj 2005-10-15 12:00:06.0 +0200 > > > +++ gcc/omp-low.c 2005-10-1

Re: [C++ Patch] A few more grokdeclarator locations fixes

2019-05-29 Thread Jason Merrill
On 5/23/19 3:23 PM, Paolo Carlini wrote: Hi, one more, rather straightforward, simply use the location stored in the declarator. Tested x86_64-linux. OK. Jason

Re: [C++ PATCH] Fix decltype on a trivial dtor with -flifetime-dse (PR c++/90598)

2019-05-29 Thread Jason Merrill
On 5/24/19 4:21 AM, Jakub Jelinek wrote: The second patch fixes that by special casing void type MODIFY_EXPR, I believe if we have void type MODIFY_EXPR, then it can't be an lvalue. Any expression with void type is a prvalue, so let's not limit this to MODIFY_EXPR. Jason

Re: Simplify more EXACT_DIV_EXPR comparisons

2019-05-29 Thread Jeff Law
On 5/29/19 1:21 AM, Richard Biener wrote: > On Tue, May 28, 2019 at 5:34 PM Martin Sebor wrote: >> >> On 5/21/19 3:53 AM, Richard Biener wrote: >>> On Tue, May 21, 2019 at 4:13 AM Martin Sebor wrote: On 5/20/19 3:16 AM, Richard Biener wrote: > On Mon, May 20, 2019 at 10:16 AM Marc G

Re: [PATCH] rs6000: Call flow implementation for PC-relative addressing

2019-05-29 Thread Segher Boessenkool
On Thu, May 30, 2019 at 12:44:35AM +0930, Alan Modra wrote: > On Wed, May 29, 2019 at 07:40:46AM -0500, Segher Boessenkool wrote: > > All necessary linker (and binutils and GAS) support is upstream already, > > right? > > I believe so, except gold support is lacking right now. Excellent :-) > >

Re: [C++ Patch] PR 89875 ("[7/8/9/10 Regression] invalid typeof reference to a member of an incomplete struct accepted at function scope")

2019-05-29 Thread Jason Merrill
On 5/28/19 4:44 PM, Paolo Carlini wrote: Hi, On 28/05/19 16:47, Jason Merrill wrote: On 5/10/19 10:29 AM, Paolo Carlini wrote: Hi, a while ago Martin noticed that an unintended consequence of an old tweak of mine - which avoided redundant error messages emitted from cp_parser_init_declarato

Re: undefined behavior in value_range::equiv_add()?

2019-05-29 Thread Aldy Hernandez
On 5/29/19 12:12 PM, Jeff Law wrote: On 5/29/19 9:58 AM, Aldy Hernandez wrote: On 5/29/19 9:24 AM, Richard Biener wrote: On Wed, May 29, 2019 at 2:18 PM Aldy Hernandez wrote: As per the API, and the original documentation to value_range, VR_UNDEFINED and VR_VARYING should never have equivale

Re: [PATCH] gdbinit: add a new command and fix one

2019-05-29 Thread Jeff Law
On 5/29/19 3:46 AM, Martin Liška wrote: > Hi. > > The patch is about a small change in .gdbinit file. > > Ready for trunk? > Martin > > gcc/ChangeLog: > > 2019-05-29 Martin Liska > > * gdbinit.in: Fix 'ptc' command. Add tt > that prints TREE_TYPE($). > --- > gcc/gdbinit.in | 1

Re: undefined behavior in value_range::equiv_add()?

2019-05-29 Thread Jeff Law
On 5/29/19 9:58 AM, Aldy Hernandez wrote: > On 5/29/19 9:24 AM, Richard Biener wrote: >> On Wed, May 29, 2019 at 2:18 PM Aldy Hernandez wrote: >>> >>> As per the API, and the original documentation to value_range, >>> VR_UNDEFINED and VR_VARYING should never have equivalences.  However, >>> equiv_

Re: [PATCH] Further C lapack workaround tweaks

2019-05-29 Thread Jakub Jelinek
On Wed, May 29, 2019 at 04:02:55PM +0200, Thomas Koenig wrote: > > As I said earlier in the PR, I don't like -fbroken-callers option much, > > as the option name doesn't hint what it is doing at all. > > > > The following patch renames the option and makes it into a 3 state option, > > with the de

Re: undefined behavior in value_range::equiv_add()?

2019-05-29 Thread Jeff Law
On 5/29/19 7:24 AM, Richard Biener wrote: > On Wed, May 29, 2019 at 2:18 PM Aldy Hernandez wrote: >> >> As per the API, and the original documentation to value_range, >> VR_UNDEFINED and VR_VARYING should never have equivalences. However, >> equiv_add is tacking on equivalences blindly, and there

New Finnish PO file for 'gcc' (version 9.1.0)

2019-05-29 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'gcc' has been submitted by the Finnish team of translators. The file is available at: https://translationproject.org/latest/gcc/fi.po (This file, 'gcc-9.1.0.fi.po', has jus

Re: [PATCH][RFC] final-value replacement from DCE

2019-05-29 Thread Jakub Jelinek
On Wed, May 29, 2019 at 09:57:50AM -0600, Jeff Law wrote: > > FAIL: gcc.dg/builtin-object-size-1.c execution test > > FAIL: gcc.dg/builtin-object-size-5.c scan-assembler-not abort I admit I haven't looked at the details here, but wonder if the optimization couldn't be done only in the DCE passes p

Re: undefined behavior in value_range::equiv_add()?

2019-05-29 Thread Aldy Hernandez
On 5/29/19 9:24 AM, Richard Biener wrote: On Wed, May 29, 2019 at 2:18 PM Aldy Hernandez wrote: As per the API, and the original documentation to value_range, VR_UNDEFINED and VR_VARYING should never have equivalences. However, equiv_add is tacking on equivalences blindly, and there are vario

Re: [PATCH][RFC] final-value replacement from DCE

2019-05-29 Thread Jeff Law
On 5/29/19 7:36 AM, Richard Biener wrote: > > The following tries to address PR90648 by performing final > value replacement from DCE when DCE knows the final value > computation is not used during loop iteration. This fits > neatly enough into existing tricks performed by DCE like > removing unu

Re: [PATCH] rs6000: Call flow implementation for PC-relative addressing

2019-05-29 Thread Bill Schmidt
On 5/29/19 7:40 AM, Segher Boessenkool wrote: > Hi Bill, > > On Thu, May 23, 2019 at 09:11:44PM -0500, Bill Schmidt wrote: >> (1) When a function uses PC-relative code generation, all direct calls >> (other than >> sibcalls) that the function makes to local or external callees should appear >> a

Re: [PATCH] rs6000: Call flow implementation for PC-relative addressing

2019-05-29 Thread Alan Modra
On Wed, May 29, 2019 at 07:40:46AM -0500, Segher Boessenkool wrote: > All necessary linker (and binutils and GAS) support is upstream already, > right? I believe so, except gold support is lacking right now. > >pld 12,0(0),1 > >.reloc .-8,R_PPC64_PLT_PCREL34_NOTOC,foo > > Are we

Re: Negative arguments in OpenMP 'num_threads' clause etc.

2019-05-29 Thread Jakub Jelinek
On Wed, May 29, 2019 at 04:42:14PM +0200, Thomas Schwinge wrote: > Any comments on my question, please? > > On Tue, 09 Apr 2019 17:51:46 +0200, I wrote: > > On Tue, 29 Nov 2016 17:47:08 -0800, Cesar Philippidis > > wrote: > > > One notable difference between the trunk and gomp4 implementation of

Re: [libgomp, testsuite] Generalize getconf _NPROCESSORS_ONLN

2019-05-29 Thread Rainer Orth
Hi Jakub, >> > So, something similar to what your patch does, but don't substitute the >> > actual >> > CPU count, but a command to determine the number of CPUs? >> >> I'm not convinced that would work reliably: you can easily have one set >> of commands on one machine, but a slightly different o

[PATCH][GCC][AArch64] Add support for hint intrinsics: __yield, __wfe, __wfi, __sev and __sevl.

2019-05-29 Thread Srinath Parvathaneni
Hi All, This patch implements the __yield(), __wfe(), __wfi(), __sev() and __sevl() ACLE (hint) intrinsics for AArch64 as yield, wfe, wfi, sev and sevl (hint) instructions respectively. The instructions are documented in the ArmARM[1] and the intrinsics specification are published on the Arm w

Re: libgomp/target.c magic constants self-documentation

2019-05-29 Thread Thomas Schwinge
Hi Jakub! Ping. On Fri, 21 Dec 2018 11:41:07 +0100, I wrote: > On Sat, 10 Nov 2018 09:11:18 -0800, Julian Brown > wrote: > > This patch [...] replaces usage > > of several magic constants in target.c with named macros > > > --- a/libgomp/libgomp.h > > +++ b/libgomp/libgomp.h > > @@ -902,6 +902

[PATCH][GCC][ARM] Add support for hint intrinsics: __yield, __wfe, __wfi, __sev and __sevl.

2019-05-29 Thread Srinath Parvathaneni
Hi All, This patch implements the __yield(), __wfe(), __wfi(), __sev() and __sevl() ACLE (hint) intrinsics for all ARM targets. The intrinsics specification are published on the Arm website [1]. [1] https://developer.arm.com/docs/ihi0053/latest/arm-c-language-extensions-21-architecture-specifi

[ARM][PATCH 2/2] Remove redundant constructs added for FP16 support.

2019-05-29 Thread Srinath Parvathaneni
Hello, The patch reworks some of the VRND and VCVT code added for the FP16 extension support to remove the redundant UNSPECS and related constructs. Tested for arm-none-linux-gnueabihf with native bootstrap and make check and for arm-none-eabi with cross-compiled check-gcc on an ARMv8.4-A emulato

[ARM][PATCH 1/2] Support HFmode for standard names implemented with VRINT instructions.

2019-05-29 Thread Srinath Parvathaneni
Hello, The initial implementation of the FP16 extension added HFmode support to a limited number of the standard names. Following https://gcc.gnu.org/ml/gcc-patches/2016-08/msg00168.html , this patch extends the HFmode support to the names implemented by the ARM and l expanders: btrunc, ceil, ro

Re: [libgomp, testsuite] Generalize getconf _NPROCESSORS_ONLN

2019-05-29 Thread Jakub Jelinek
On Wed, May 29, 2019 at 04:32:41PM +0200, Rainer Orth wrote: > > I'd prefer not to determine the CPU count at configure time, the build > > directory can be on some network filesystem and tested sometimes on one > > machine, sometimes on another one, hw can be upgraded etc. > > somewhat agreed for

[PATCH] Avoid -Wunused-parameter warnings from testsuite utility

2019-05-29 Thread Jonathan Wakely
* testsuite/util/testsuite_api.h: Remove names of unused parameters. Tested x86_64-linux, committed to trunk. commit 0ea1c74e5df4214d4ab03ef264f53e4ef4aa1d87 Author: Jonathan Wakely Date: Wed May 29 15:19:14 2019 +0100 Avoid -Wunused-parameter warnings from testsuite utility

[PATCH] PR libstdc++/85494 use rdseed and rand_s in std::random_device

2019-05-29 Thread Jonathan Wakely
Add support for additional sources of randomness to std::random_device, to allow using RDSEED for Intel CPUs and rand_s for Windows. When supported these can be selected using the tokens "rdseed" and "rand_s". For *-w64-mingw32 targets the "default" token will now use rand_s, and for other i?86-*-

Re: Negative arguments in OpenMP 'num_threads' clause etc.

2019-05-29 Thread Thomas Schwinge
Hi Jakub! Any comments on my question, please? On Tue, 09 Apr 2019 17:51:46 +0200, I wrote: > On Tue, 29 Nov 2016 17:47:08 -0800, Cesar Philippidis > wrote: > > One notable difference between the trunk and gomp4 implementation of the > > tile clause is that gomp4 errors on negative value tile a

Re: PR90030 "Fortran OpenACC subarray data alignment" (was: [PATCH] Fortran OpenMP 4.0 target support)

2019-05-29 Thread Thomas Schwinge
Hi Jakub! Any comments on this, please? On Wed, 10 Apr 2019 15:00:06 +0200, I wrote: > In context of PR90030 "Fortran OpenACC subarray data alignment" (which > actually is reproducible for OpenMP with nvptx offloading in the very > same way, see below), can you please explain the reason for the s

Re: [libgomp, testsuite] Generalize getconf _NPROCESSORS_ONLN

2019-05-29 Thread Rainer Orth
Hi Jakub, > On Wed, May 29, 2019 at 04:13:41PM +0200, Rainer Orth wrote: >> Prompted by extremely long libgomp make check times due to missing >> parallelism, I noticed that the current support to restrict testcase >> parallelism only works on targets which have getconf _NPROCESSORS_ONLN. >> Inste

Re: [OpenACC] Update OpenACC data clause semantics to the 2.5 behavior - runtime

2019-05-29 Thread Thomas Schwinge
Hi Jakub! Any comments on my questions, please? On Thu, 02 May 2019 16:03:09 +0200, I wrote: > I'm currently working on other pending OpenACC 'deviceptr' clause patches > from our backlog, and I noticed the following, which I don't understand. > You reviewed and approved this patch, could you ple

Re: [libgomp, testsuite] Generalize getconf _NPROCESSORS_ONLN

2019-05-29 Thread Jakub Jelinek
On Wed, May 29, 2019 at 04:13:41PM +0200, Rainer Orth wrote: > Prompted by extremely long libgomp make check times due to missing > parallelism, I noticed that the current support to restrict testcase > parallelism only works on targets which have getconf _NPROCESSORS_ONLN. > Instead of adding spec

Re: [PATCH 3/3][GCC][AARCH64] Add support for pointer authentication B key

2019-05-29 Thread Sam Tebbs
Thanks for finding this Christoph, I had this failure a while ago but it stopped happening so I thought all was good. I have a fix ready. Sam On 29/05/2019 12:22, Christophe Lyon wrote: > On Wed, 29 May 2019 at 11:23, Sam Tebbs wrote: >> The libgcc changes have been acknowledged off-list. Commi

[libgomp, testsuite] Generalize getconf _NPROCESSORS_ONLN

2019-05-29 Thread Rainer Orth
Prompted by extremely long libgomp make check times due to missing parallelism, I noticed that the current support to restrict testcase parallelism only works on targets which have getconf _NPROCESSORS_ONLN. Instead of adding special cases for all sorts of tools to determine the number of cores, I

Re: Teach same_types_for_tbaa to structurally compare arrays, pointers and vectors

2019-05-29 Thread Jan Hubicka
> > but we do not optimize it. I.e. optimized dump has: > > > > test () > > { > > struct bar * barptr.0_1; > > struct foo * fooptr.1_2; > > int _6; > > > >[local count: 1073741824]: > > barptr.0_1 = barptr; > > barptr.0_1->val2 = 1; > > fooptr.1_2 = fooptr; > > MEM[(struct foo *)f

Re: [PATCH] Further C lapack workaround tweaks

2019-05-29 Thread Thomas Koenig
Hi Jakub, As I said earlier in the PR, I don't like -fbroken-callers option much, as the option name doesn't hint what it is doing at all. The following patch renames the option and makes it into a 3 state option, with the default being a middle-ground, where it avoids the tail calls in functio

Re: Implement vector average patterns for SVE2

2019-05-29 Thread Richard Sandiford
Alejandro Martinez Vicente writes: > Turns out I was missing a few bits and pieces. Here is the updated patch and > changelog. > > Alejandro > > > 2019-05-29 Alejandro Martinez > > * config/aarch64/aarch64-c.c: Added TARGET_SVE2. > * config/aarch64/aarch64-sve2.md: New file. >

Re: [PATCH][AArch64] PR tree-optimization/90332: Implement vec_init where N is a vector mode

2019-05-29 Thread Kyrill Tkachov
Ping. https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00477.html Thanks, Kyrill On 5/10/19 10:32 AM, Kyrill Tkachov wrote: Hi all, This patch fixes the failing gcc.dg/vect/slp-reduc-sad-2.c testcase on aarch64 by implementing a vec_init optab that can handle two half-width vectors producing

Re: RFA: Synchronize top level files with binutils

2019-05-29 Thread Richard Biener
On Wed, May 29, 2019 at 3:40 PM Nick Clifton wrote: > > Hi Guys, > > I would like to bring over a few additions that have recently been > made to the binutils versions of the Makefile.def and configure.ac > files. Any objections ? > > Note - I did run a toolchain bootstrap after applying

RE: Implement vector average patterns for SVE2

2019-05-29 Thread Alejandro Martinez Vicente
Turns out I was missing a few bits and pieces. Here is the updated patch and changelog. Alejandro 2019-05-29 Alejandro Martinez * config/aarch64/aarch64-c.c: Added TARGET_SVE2. * config/aarch64/aarch64-sve2.md: New file. (avg3_floor): New pattern. (avg3_ceil)

RFA: Synchronize top level files with binutils

2019-05-29 Thread Nick Clifton
Hi Guys, I would like to bring over a few additions that have recently been made to the binutils versions of the Makefile.def and configure.ac files. Any objections ? Note - I did run a toolchain bootstrap after applying this patch locally and that went OK... Cheers Nick ./ChangeLo

[PATCH][RFC] final-value replacement from DCE

2019-05-29 Thread Richard Biener
The following tries to address PR90648 by performing final value replacement from DCE when DCE knows the final value computation is not used during loop iteration. This fits neatly enough into existing tricks performed by DCE like removing unused malloc/free pairs. There's a few complications,

Re: Fwd: [PATCH] Fix few build warnings with LLVM toolchain

2019-05-29 Thread Segher Boessenkool
On Tue, May 28, 2019 at 10:28:07AM +, David CARLIER wrote: > -- Forwarded message - > From: David CARLIER > Date: Tue, 28 May 2019 at 10:16 > Subject: Re: [PATCH] Fix few build warnings with LLVM toolchain > To: Segher Boessenkool > > > All right, here an updated version, ho

Re: Teach same_types_for_tbaa to structurally compare arrays, pointers and vectors

2019-05-29 Thread Jan Hubicka
> > /* ??? Array types are not properly unified in all cases as we have > > spurious changes in the index types for example. Removing this > > causes all sorts of problems with the Fortran frontend. */ > > if (TREE_CODE (type1) == ARRAY_TYPE > > && TREE_CODE (type2) == ARRAY_T

Re: Teach same_types_for_tbaa to structurally compare arrays, pointers and vectors

2019-05-29 Thread Richard Biener
On Wed, May 29, 2019 at 3:21 PM Jan Hubicka wrote: > > > > > Please also see if there are testcases that do anything meaningful > > and FAIL after instead of > > > > /* Do access-path based disambiguation. */ > > if (ref1 && ref2 > > && (handled_component_p (ref1) || handled_component_p

Re: undefined behavior in value_range::equiv_add()?

2019-05-29 Thread Richard Biener
On Wed, May 29, 2019 at 2:18 PM Aldy Hernandez wrote: > > As per the API, and the original documentation to value_range, > VR_UNDEFINED and VR_VARYING should never have equivalences. However, > equiv_add is tacking on equivalences blindly, and there are various > regressions that happen if I fix

Re: Teach same_types_for_tbaa to structurally compare arrays, pointers and vectors

2019-05-29 Thread Jan Hubicka
> > Please also see if there are testcases that do anything meaningful > and FAIL after instead of > > /* Do access-path based disambiguation. */ > if (ref1 && ref2 > && (handled_component_p (ref1) || handled_component_p (ref2))) > > doing > > /* Do access-path based disambiguation

Re: [PATCH] rs6000: Add undocumented switch -mprefixed-addr

2019-05-29 Thread Segher Boessenkool
Hi! On Wed, May 29, 2019 at 07:42:38AM -0500, Bill Schmidt wrote: > * rs6000-cpus.def (OTHER_FUSION_MASKS): New #define. > (ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PREFIXED_ADDR. Mask off > OTHER_FUSION_MASKS. Two spaces after a full stop (here and later again). > +/* ISA mas

Re: Patch: don't cap TYPE_PRECISION of bitsizetype at MAX_FIXED_MODE_SIZE

2019-05-29 Thread Richard Biener
On Tue, May 28, 2019 at 5:43 PM Hans-Peter Nilsson wrote: > > TL;DR: instead of capping TYPE_PRECISION of bitsizetype at > MAX_FIXED_MODE_SIZE, search for the largest fitting size from > scalar_int_mode modes supported by the target using > targetm.scalar_mode_supported_p. > > - > In initi

Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git

2019-05-29 Thread Segher Boessenkool
On Wed, May 29, 2019 at 12:53:30AM +, Joseph Myers wrote: > On Fri, 24 May 2019, Segher Boessenkool wrote: > > > IMO the best we can do is use what we already have: what CVS or SVN used > > as the committer identity. *That* info is *correct* at least. > > CVS and SVN have a local identity.

Re: Teach same_types_for_tbaa to structurally compare arrays, pointers and vectors

2019-05-29 Thread Richard Biener
On Wed, 29 May 2019, Jan Hubicka wrote: > > On Mon, 27 May 2019, Jan Hubicka wrote: > > > > > Hi, > > > this is minimal version of patch adding just the pointer compare. > > > Bootstrapped/regtested x86_64-linux, makes sense? :) > > > > Yes, obviously. > > Thanks, i will go ahead with installin

[PATCH] rs6000: Add undocumented switch -mprefixed-addr

2019-05-29 Thread Bill Schmidt
Hi, This patch adds the undocumented switch -mprefixed-addr and a little of the basic infrastructure around it. It also includes a couple of lines in the same code regions to disable P8 fusion for -mcpu=future. Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Is thi

  1   2   >