Re: [PATCH] Optimize away x86 mem stores of what the mem contains already (PR rtl-optimization/79593)

2019-01-07 Thread Uros Bizjak
On Mon, Jan 7, 2019 at 11:51 PM Jakub Jelinek wrote: > > Hi! > > As mentioned in that PR, we have a SI->DImode zero extension and RA happens > to choose to zero extend from a SImode memory slot which is the low part of > the DImode memory slot into which the zero extension is to be stored. >

Re: [PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-07 Thread Uros Bizjak
On Mon, Jan 7, 2019 at 6:40 PM H.J. Lu wrote: > > There is no need to generate vzeroupper if caller uses upper bits of > AVX/AVX512 registers, We track caller's avx_u128_state and avoid > vzeroupper when caller's avx_u128_state is AVX_U128_DIRTY. > > Tested on i686 and x86-64 with and without

Re: C++ PATCH for c++/88548, this accepted in static member functions

2019-01-07 Thread Jason Merrill
On 12/22/18 4:38 PM, Marek Polacek wrote: I noticed that we weren't diagnosing using 'this' in noexcept-specifiers of static member functions, and Jakub pointed out that this is also true for trailing-return-type. cp_parser has local_variables_forbidden_p to detect using local vars and 'this'

Re: [C++ PATCH] Avoid ICE trying to add a bogus fixit hint (PR c++/88554)

2019-01-07 Thread Jason Merrill
On 1/4/19 5:57 PM, Jakub Jelinek wrote: Hi! As found by Jonathan, we shouldn't be trying to emit return *this; fixit hint in non-methods where this is not available (and ICEing because current_class_ref is NULL there). I've just added a testcase for Jon's patch from the PR and merged two nested

Re: C++ PATCH for c++/88538 - braced-init-list in template-argument-list

2019-01-07 Thread Jason Merrill
On 1/7/19 6:56 PM, Marek Polacek wrote: At the risk of seeming overly eager, I thought it would be reasonable to go with the following: enabling braced-init-list as a template-argument. As the discussion on the reflector clearly indicates, this was the intent from the get-go. I know, it's not a

Re: [C++ Patch] Fix a start_decl location

2019-01-07 Thread Jason Merrill
On 1/6/19 4:47 AM, Paolo Carlini wrote: Hi, this was supposed to be very straightforward but required a little more. A first draft of the patch exploited DECL_SOURCE_LOCATION but that failed when I tested the case of a function already defined in class: at that point the location of the decl

[committed] Fix jit test case (PR jit/88747)

2019-01-07 Thread David Malcolm
Amongst other changes, r266077 updated value_range_base::dump so that it additionally prints the type. This broke an assertion within the jit testsuite, in jit.dg/test-sum-of-squares.c, which was checking for: ": [-INF, n_" but was now getting: ": signed int [-INF, n_" The test is merely

Re: [PATCH, testsuite] Allow builtin-has-attribute-* to run as far as possible on targets without alias support.

2019-01-07 Thread Iain Sandoe
Hi Martin, > On 8 Jan 2019, at 00:25, Martin Sebor wrote: > > On 1/7/19 9:55 AM, Iain Sandoe wrote: >> Hi Martin, >> A) >> Some of the builtin-has-attribute tests fail because a sub-set of them need >> symbol alias support. >> Darwin has only support for weak aliases and therefore we need to

PING #2 [PATCH] handle expressions in __builtin_has_attribute (PR 88383)

2019-01-07 Thread Martin Sebor
Ping: https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00337.html On 1/3/19 3:22 PM, Martin Sebor wrote: Ping: https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00337.html On 12/20/18 7:51 PM, Martin Sebor wrote: Jeff, did this and the rest of the discussion answer your question and if so, is the

Re: [PATCH, testsuite] Allow builtin-has-attribute-* to run as far as possible on targets without alias support.

2019-01-07 Thread Martin Sebor
On 1/7/19 9:55 AM, Iain Sandoe wrote: Hi Martin, A) Some of the builtin-has-attribute tests fail because a sub-set of them need symbol alias support. Darwin has only support for weak aliases and therefore we need to skip these. However, the sub-set is small, and I am reluctant to throw out

C++ PATCH for c++/88538 - braced-init-list in template-argument-list

2019-01-07 Thread Marek Polacek
At the risk of seeming overly eager, I thought it would be reasonable to go with the following: enabling braced-init-list as a template-argument. As the discussion on the reflector clearly indicates, this was the intent from the get-go. I know, it's not a regression. But I restricted the change

Re: [PATCH] soft-fp: Update _FP_W_TYPE_SIZE check from glibc

2019-01-07 Thread H.J. Lu
On Mon, Jan 7, 2019 at 2:49 PM Joseph Myers wrote: > > Except for the libgcc/config/rs6000/ibm-ldouble.c changes, the appropriate > way to get these changes into libgcc would be a bulk update of all the > files copied from glibc, rather than selectively merging particular > changes - which would

Re: [PATCH] Don't pushdecl compound literals inside C parameter scope (PR c/88701)

2019-01-07 Thread Joseph Myers
On Mon, 7 Jan 2019, Jakub Jelinek wrote: > Hi! > > As reported recently, my commit to push block scope using pushdecl into > their corresponding scope broke compound literals appearing in parameter > scope. For those, we can keep the previous behavior, where they stayed at > the function scope

[PATCH] Optimize away x86 mem stores of what the mem contains already (PR rtl-optimization/79593)

2019-01-07 Thread Jakub Jelinek
Hi! As mentioned in that PR, we have a SI->DImode zero extension and RA happens to choose to zero extend from a SImode memory slot which is the low part of the DImode memory slot into which the zero extension is to be stored. Unfortunately, the RTL DSE part really doesn't have infrastructure to

Re: [PATCH, GCC] PR target/86487: fix the way 'uses_hard_regs_p' handles paradoxical subregs

2019-01-07 Thread Jeff Law
On 1/7/19 7:42 AM, Andre Vieira (lists) wrote: > Hi, > > This patch fixes the way 'uses_hard_regs_p' handles paradoxical subregs. >  The function is supposed to detect whether a register access of 'x' > overlaps with 'set'.  For SUBREGs it should check whether any of the > full multi-register

Re: [PATCH] soft-fp: Update _FP_W_TYPE_SIZE check from glibc

2019-01-07 Thread Joseph Myers
Except for the libgcc/config/rs6000/ibm-ldouble.c changes, the appropriate way to get these changes into libgcc would be a bulk update of all the files copied from glibc, rather than selectively merging particular changes - which would be done at another development stage rather than when in

[PATCH] Don't pushdecl compound literals inside C parameter scope (PR c/88701)

2019-01-07 Thread Jakub Jelinek
Hi! As reported recently, my commit to push block scope using pushdecl into their corresponding scope broke compound literals appearing in parameter scope. For those, we can keep the previous behavior, where they stayed at the function scope if they make it all the way there at all, the fix was

[PATCH] avoid ICE when pretty-printing a VLA with an error bound (PR 85956, take 2)

2019-01-07 Thread Jakub Jelinek
Hi! On Thu, May 31, 2018 at 01:34:19PM -0400, Jason Merrill wrote: > Returning error_mark_node from omp_copy_decl and then continuing seems > like the problem, then. Would it really be that hard to return an > uninitialized variable instead? The following patch does that, but not from

Fix diagnostics for never-defined inline and nested functions (PR c/88720, PR c/88726)

2019-01-07 Thread Joseph Myers
Bugs 88720 and 88726 report issues where a function is declared inline in an inner scope, resulting in spurious diagnostics about it being declared but never defined when that scope is left (possibly in some cases also wrongly referring to the function as a nested function). These are regressions

Re: [PATCH] genattrtab bit-rot, and if_then_else in values

2019-01-07 Thread Alan Modra
On Mon, Jan 07, 2019 at 12:10:38PM +, Richard Sandiford wrote: > Alan Modra writes: > > +/* Given an attribute value expression, return the maximum value that > > + might be evaluated assuming all conditionals are independent. > > + Return INT_MAX if the value can't be calculated by this

Re: [PATCH, testsuite] Allow builtin-has-attribute-* to run as far as possible on targets without alias support.

2019-01-07 Thread Jeff Law
On 1/7/19 9:55 AM, Iain Sandoe wrote: > Hi Martin, > > A) > Some of the builtin-has-attribute tests fail because a sub-set of them need > symbol alias support. > Darwin has only support for weak aliases and therefore we need to skip these. > > However, the sub-set is small, and I am reluctant

Re: libgo patch committed: set gp->m in getTraceback

2019-01-07 Thread Ian Lance Taylor
On Mon, Jan 7, 2019 at 12:12 PM Ian Lance Taylor wrote: > > This libgo patch by Cherry Zhang moves setting p->m from gtraceback to > getTraceback. Currently, when collecting a traceback for another > goroutine, getTraceback calls gogo(gp) switching to gp, which will > resume in mcall, which will

Re: C++ PATCH for c++/88692 - -Wredundant-move false positive with *this

2019-01-07 Thread Jason Merrill
On 1/7/19 4:29 PM, Marek Polacek wrote: This patch fixes bogus -Wredundant-move warnings reported in 88692 and 87882. To quickly recap, this warning is supposed to warn for cases like struct T { }; T fn(T t) { return std::move (t); } where NRVO isn't applicable for T because it's a

Re: [PATCH] [RFC] PR target/52813 and target/11807

2019-01-07 Thread Bernd Edlinger
On 1/7/19 10:23 AM, Jakub Jelinek wrote: > On Sun, Dec 16, 2018 at 06:13:57PM +0200, Dimitar Dimitrov wrote: >> - /* Clobbering the STACK POINTER register is an error. */ >> + /* Clobbered STACK POINTER register is not saved/restored by GCC, >> + which is often unexpected by users. See

Go patch committed: Move slice construction to callers of makeslice

2019-01-07 Thread Ian Lance Taylor
This patch to the Go frontend moves slice construction to callers of makeslice. This is the gccgo version of https://golang.org/cl/141822, which was described as: Only return a pointer p to the new slices backing array from makeslice. Makeslice callers then construct sliceheader{p, len,

C++ PATCH for c++/88692 - -Wredundant-move false positive with *this

2019-01-07 Thread Marek Polacek
This patch fixes bogus -Wredundant-move warnings reported in 88692 and 87882. To quickly recap, this warning is supposed to warn for cases like struct T { }; T fn(T t) { return std::move (t); } where NRVO isn't applicable for T because it's a parameter, but it's a local variable and we're

Re: [PATCH][jit] Add thread-local globals to the libgccjit frontend

2019-01-07 Thread David Malcolm
On Sat, 2019-01-05 at 23:10 +0100, Marc Nieper-Wißkirchen wrote: > This patch adds thread-local globals to the libgccjit frontend. The > library user can mark a global as being thread-local by calling > `gcc_jit_lvalue_set_bool_thread_local'. It is implemented by calling > `set_decl_tls_model

libgo patch committed: set gp->m in getTraceback

2019-01-07 Thread Ian Lance Taylor
This libgo patch by Cherry Zhang moves setting p->m from gtraceback to getTraceback. Currently, when collecting a traceback for another goroutine, getTraceback calls gogo(gp) switching to gp, which will resume in mcall, which will call gtraceback, which will set up gp->m. There is a gap between

Re: Add new --param knobs for inliner

2019-01-07 Thread Jan Hubicka
> On 1/5/19 11:58 AM, Jan Hubicka wrote: > > @@ -791,7 +791,7 @@ want_inline_small_function_p (struct cgr > >ipa_hints hints = estimate_edge_hints (e); > >int big_speedup = -1; /* compute this lazily */ > > > > - if (growth <= 0) > > + if (growth <= PARAM_VALUE

Re: [PATCH, rs6000] Port cleanup patch, use rtl.h convenience macros, etc.

2019-01-07 Thread Peter Bergner
On 12/12/18 1:58 PM, Peter Bergner wrote: > Ping. Ping * 2. https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00212.html Peter

Re: [PATCH, testsuite] Require alias support in three tests.

2019-01-07 Thread Jeff Law
On 1/7/19 6:39 AM, Iain Sandoe wrote: > Hi, > > These three tests fail on targets without alias support, > > OK to apply? > > Iain > > > gcc/testsuite/ > > * gcc.dg/Wmissing-attributes.c: Require alias support. > * gcc.dg/attr-copy-2.c: Likewise. > * gcc.dg/attr-copy-5.c:

Re: [PATCH 4/4][libbacktrace] Add tests for unused formats

2019-01-07 Thread Iain Sandoe
> On 3 Jan 2019, at 23:10, Ian Lance Taylor wrote: > > On Thu, Jan 3, 2019 at 3:49 AM Iain Sandoe wrote: >> >>> On 2 Jan 2019, at 13:26, Iain Sandoe wrote: >>> >>> On 2 Jan 2019, at 13:20, Rainer Orth wrote: Gerald Pfeifer writes: > >> > > I believe

Re: C++ PATCH for c++/88741 - wrong error with initializer-string

2019-01-07 Thread Jason Merrill
On 1/7/19 2:09 PM, Marek Polacek wrote: This fixes c++/88741, a bogus error with using [] in a template. Starting with the "more location wrapper nodes" patch, cp_complete_array_type can now receive a V_C_E in a CONSTRUCTOR, instead of just {"test"}, so we need to strip any location wrappers as

Re: [C++ Patch] Fix four more locations

2019-01-07 Thread Jason Merrill
OK. Jason

[nvptx, committed] Force vl32 if calling vector-partitionable routines

2019-01-07 Thread Tom de Vries
[ was: Re: [nvptx] vector length patch series ] On 14-12-18 20:58, Tom de Vries wrote: > 0023-nvptx-Force-vl32-if-calling-vector-partitionable-rou.patch > @@ -73,6 +73,7 @@ > #include "cfgloop.h" > #include "fold-const.h" > #include "intl.h" > +#include "tree-hash-traits.h" > #include

C++ PATCH for c++/88741 - wrong error with initializer-string

2019-01-07 Thread Marek Polacek
This fixes c++/88741, a bogus error with using [] in a template. Starting with the "more location wrapper nodes" patch, cp_complete_array_type can now receive a V_C_E in a CONSTRUCTOR, instead of just {"test"}, so we need to strip any location wrappers as elsewhere for this code to work.

Re: [committed][nvptx] Allow larger PTX_MAX_VECTOR_LENGTH in nvptx_goacc_validate_dims_1

2019-01-07 Thread Tom de Vries
On 07-01-19 09:56, Tom de Vries wrote: > + /* Check that the vector_length is not too large. */ > + if (dims[GOMP_DIM_VECTOR] > PTX_MAX_VECTOR_LENGTH) > +dims[GOMP_DIM_VECTOR] = PTX_MAX_VECTOR_LENGTH; And just to note this: I've chosen a different solution here than og8, which falls back

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

2019-01-07 Thread James Greenhalgh
On Fri, Dec 21, 2018 at 09:00:10AM -0600, Sam Tebbs wrote: > On 11/9/18 11:04 AM, Sam Tebbs wrote: > Attached is an improved patch with "hint" removed from the test scans, > pauth_hint_num_a and pauth_hint_num_b merged into pauth_hint_num and the > "gcc_assert

Re: [PATCH 2/3][GCC][AARCH64] Add new -mbranch-protection option to combine pointer signing and BTI

2019-01-07 Thread James Greenhalgh
On Thu, Dec 20, 2018 at 10:38:42AM -0600, Sam Tebbs wrote: > On 11/22/18 4:54 PM, Sam Tebbs wrote: > > Hi all, > > Attached is an updated patch with branch_protec_type renamed to > branch_protect_type, some unneeded ATTRIBUTE_USED removed and an added > use of ARRAY_SIZE. > > Below is the

Re: Add new --param knobs for inliner

2019-01-07 Thread Pat Haugen
On 1/5/19 11:58 AM, Jan Hubicka wrote: > @@ -791,7 +791,7 @@ want_inline_small_function_p (struct cgr >ipa_hints hints = estimate_edge_hints (e); >int big_speedup = -1; /* compute this lazily */ > > - if (growth <= 0) > + if (growth <= PARAM_VALUE (PARAM_VALUE

[PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-07 Thread H.J. Lu
There is no need to generate vzeroupper if caller uses upper bits of AVX/AVX512 registers, We track caller's avx_u128_state and avoid vzeroupper when caller's avx_u128_state is AVX_U128_DIRTY. Tested on i686 and x86-64 with and without --with-arch=native. OK for trunk? Thanks. H.J. --- gcc/

Re: [Patch 4/4][Aarch64] v2: Implement Aarch64 SIMD ABI

2019-01-07 Thread Richard Sandiford
Steve Ellcey writes: > On Thu, 2018-12-06 at 12:25 +, Richard Sandiford wrote: >> >> Since we're looking at the call insns anyway, we could have a hook that >> "jousts" two calls and picks the one that preserves *fewer* registers. >> This would mean that loop produces a single instruction

Re: Remove overall growth from badness metrics

2019-01-07 Thread Qing Zhao
> On Jan 6, 2019, at 5:52 PM, Jan Hubicka wrote: > > Hi, > this patch removes overall growth from badness metrics. This code was > added at a time inliner was purely function size based to give a hint > that inlining more different functions into all callers is better than > inlining one

[PATCH] soft-fp: Update _FP_W_TYPE_SIZE check from glibc

2019-01-07 Thread H.J. Lu
OK for trunk? Thanks. H.J. --- Update soft-fp from glibc with: commit 69da3c9e87e0a692e79db0615a53782e4198dbf0 Author: H.J. Lu Date: Mon Jan 7 09:04:29 2019 -0800 quad.h have #if _FP_W_TYPE_SIZE < 64 union _FP_UNION_Q { Use 4 _FP_W_TYPEs } #else union _FP_UNION_Q { Use 2

[C++ Patch] Fix four more locations

2019-01-07 Thread Paolo Carlini
Hi, should be straightforward material. Tested x86_64-linux, as usual. Thanks, Paolo. / /cp 2019-01-07 Paolo Carlini * decl.c (start_decl): Improve two error_at locations. (expand_static_init): Likewise. /testsuite 2019-01-07 Paolo Carlini

Re: [PATCH] Define new filesystem::__file_clock type

2019-01-07 Thread Christophe Lyon
On Sun, 6 Jan 2019 at 22:45, Jonathan Wakely wrote: > > On 05/01/19 20:03 +, Jonathan Wakely wrote: > >In C++17 the clock used for filesystem::file_time_type is unspecified, > >allowing it to be chrono::system_clock. The C++2a draft requires it to > >be a distinct type, with additional member

Re: [PATCH, C++,rebased] Fix PR c++/88261

2019-01-07 Thread Jason Merrill
On 1/7/19 10:38 AM, Bernd Edlinger wrote: On 1/7/19 1:08 AM, Martin Sebor wrote: On 1/5/19 9:04 AM, Bernd Edlinger wrote: On 1/4/19 10:22 PM, Jason Merrill wrote: Hmm, I'm uncomfortable with starting to pass in the decl just for the sake of deciding whether this diagnostic should be a

[PATCH, testsuite] Allow builtin-has-attribute-* to run as far as possible on targets without alias support.

2019-01-07 Thread Iain Sandoe
Hi Martin, A) Some of the builtin-has-attribute tests fail because a sub-set of them need symbol alias support. Darwin has only support for weak aliases and therefore we need to skip these. However, the sub-set is small, and I am reluctant to throw out the entire set for the sake of a small

Re: Add forgotten options to -fprofile-use

2019-01-07 Thread Sandra Loosemore
On 1/6/19 9:47 AM, Jan Hubicka wrote: Index: doc/invoke.texi === --- doc/invoke.texi (revision 267603) +++ doc/invoke.texi (working copy) @@ -9499,6 +9499,8 @@ DO I = 1, N D(I) = E(I) * F ENDDO @end smallexample

Re: [PATCH] Use proper print formatter in main function in fixincl.c

2019-01-07 Thread Jonathan Wakely
On 07/01/19 11:01 -0500, NightStrike wrote: On Mon, Jan 7, 2019 at 10:57 AM Jonathan Wakely wrote: On 20/12/18 17:23 -0500, Nicholas Krause wrote: >This fixes the bug id, 71176 to use the proper known >code print formatter type, %lu for size_t rather than >%d which is considered best pratice

Re: [PATCH] Use proper print formatter in main function in fixincl.c

2019-01-07 Thread NightStrike
On Mon, Jan 7, 2019 at 10:57 AM Jonathan Wakely wrote: > > On 20/12/18 17:23 -0500, Nicholas Krause wrote: > >This fixes the bug id, 71176 to use the proper known > >code print formatter type, %lu for size_t rather than > >%d which is considered best pratice for print statements. > > Well the

Re: [PATCH] Use proper print formatter in main function in fixincl.c

2019-01-07 Thread Jonathan Wakely
On 20/12/18 17:23 -0500, Nicholas Krause wrote: This fixes the bug id, 71176 to use the proper known code print formatter type, %lu for size_t rather than %d which is considered best pratice for print statements. Well the proper specifier for size_t is %zu, but since you cast to unsigned long

Re: C++ PATCH to implement deferred parsing of noexcept-specifiers (c++/86476, c++/52869)

2019-01-07 Thread Jason Merrill
On 12/19/18 3:27 PM, Marek Polacek wrote: Prompted by Jon's observation in 52869, I noticed that we don't treat a noexcept-specifier as a complete-class context of a class ([class.mem]/6). As with member function bodies, default arguments, and NSDMIs, names used in a noexcept-specifier of a

Re: [PATCH, C++,rebased] Fix PR c++/88261

2019-01-07 Thread Bernd Edlinger
On 1/7/19 1:08 AM, Martin Sebor wrote: > On 1/5/19 9:04 AM, Bernd Edlinger wrote: >> On 1/4/19 10:22 PM, Jason Merrill wrote: >>> Hmm, I'm uncomfortable with starting to pass in the decl just for the sake >>> of deciding whether this diagnostic should be a pedwarn or error. In >>> general,

Re: [testsuite] Fix gcc.dg/debug/dwarf2/inline5.c with Solaris as (PR debug/87451)

2019-01-07 Thread Richard Biener
On Fri, 4 Jan 2019, Rainer Orth wrote: > Hi Richard, > > >> On Thu, 3 Jan 2019, Rainer Orth wrote: > >> > >>> gcc.dg/debug/dwarf2/inline5.c currently FAILs with Solaris as (both > >>> sparc and x86): > >>> > >>> FAIL: gcc.dg/debug/dwarf2/inline5.c scan-assembler-not (DIE > >>>

[PATCH] PR target/85596 Add --with-multilib-list doc for aarch64

2019-01-07 Thread Christophe Lyon
Hi, This small patch adds a short description of --with-multilib-list for aarch64. OK? Thanks, Christophe 2019-01-07 Christophe Lyon PR target/85596 * doc/install.texi (with-multilib-list): Document for aarch64. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index

Re: Add new --param knobs for inliner

2019-01-07 Thread Jan Hubicka
> Jan Hubicka wrote: > > > uinlined-* should be useful for architecutures with greater function > > call overhead than modern x86 chips (which is good portion of them, > > especially s390 as I learnt on Cauldron). It would be nice to benchmark > > effect of those and tune default in config/*

[PATCH] PR libstdc++/87787 avoid undefined null args to memcpy and memmove

2019-01-07 Thread Jonathan Wakely
The C++ char_traits and ctype APIs do not disallow null pointer arguments, so we need explicit checks to ensure we don't forward null pointers to memcpy or memmove. PR libstdc++/87787 * include/bits/char_traits.h (char_traits::move): Do not pass null pointers to memmove.

Re: [GCC][middle-end] Add rules to strip away unneeded type casts in expressions (2nd patch)

2019-01-07 Thread Marc Glisse
On Mon, 7 Jan 2019, Tamar Christina wrote: The 01/04/2019 17:50, Marc Glisse wrote: +(convert:newtype (op (convert:newtype @1) (convert:newtype @2))) The outer 'convert' is unnecessary, op already has the same type. Does it? The only comparison that has been done between the

PR target/86891 __builtin_sub_overflow issues on AArch64

2019-01-07 Thread Richard Earnshaw (lists)
Investigating PR target/86891 revealed a number of issues with the way the AArch64 backend was handing overflow detection patterns. Firstly, expansion for signed and unsigned types is not the same as in one form the overflow is detected via the C flag and in the other it is done via the V flag in

[PATCH, GCC] PR target/86487: fix the way 'uses_hard_regs_p' handles paradoxical subregs

2019-01-07 Thread Andre Vieira (lists)
Hi, This patch fixes the way 'uses_hard_regs_p' handles paradoxical subregs. The function is supposed to detect whether a register access of 'x' overlaps with 'set'. For SUBREGs it should check whether any of the full multi-register overlaps with 'set'. The former behavior used to grab

Re: Fix ICE in get_initial_defs_for_reduction (PR 88567)

2019-01-07 Thread Richard Biener
On Mon, Jan 7, 2019 at 2:27 PM Richard Sandiford wrote: > > The use of "j" in: > > init = permute_results[number_of_vectors - j - 1]; > > was out-of-sync with the new flat loop structure. Now that all that > reversing is gone, we can just use the result of duplicate_and_interleave

Re: Fix IFN_MASK_STORE handling of IFN_GOMP_SIMD_LANE

2019-01-07 Thread Richard Biener
On Mon, Jan 7, 2019 at 2:25 PM Richard Sandiford wrote: > > The IFN_GOMP_SIMD_LANE handling in vectorizable_store tries to use MEM_REF > offsets to maintain pointer disambiguation info. This patch makes sure > that we don't try to do the same optimisation for IFN_MASK_STOREs, which > have no

Re: [PATCH] Fix PR85574

2019-01-07 Thread Richard Biener
On Thu, 3 Jan 2019, Richard Biener wrote: > On Thu, 3 Jan 2019, Richard Sandiford wrote: > > > Richard Biener writes: > > > The following rectifies a change during hash-map intruction which > > > changed the uncprop operand_equal_p based hash to a pointer-based > > > hash_map. That assumes

Re: [GCC][middle-end] Add rules to strip away unneeded type casts in expressions (2nd patch)

2019-01-07 Thread Tamar Christina
Hi Marc The 01/04/2019 17:50, Marc Glisse wrote: > > +(convert:newtype (op (convert:newtype @1) (convert:newtype @2))) > > The outer 'convert' is unnecessary, op already has the same type. > Does it? The only comparison that has been done between the type of op and "type" is that they

Re: [PATCH 2/6, OpenACC, libgomp] Async re-work, oacc-* parts (revised, v4)

2019-01-07 Thread Thomas Schwinge
Hi Chung-Lin! On Sat, 5 Jan 2019 17:47:10 +0800, Chung-Lin Tang wrote: > this is the current version of the oacc-* parts of the Async Re-work patch. > > I have reverted away from the earlier mentioned attempt of using lockless > techniques to manage the asyncqueues; it is really hard to do in

Re: [PATCH 2/6, OpenACC, libgomp] Async re-work, oacc-* parts (revised, v2)

2019-01-07 Thread Thomas Schwinge
Hi Chung-Lin! On Wed, 2 Jan 2019 20:46:12 +0800, Chung-Lin Tang wrote: > Hi Thomas, Happy New Year, Thanks! If I remember right, you still have a few weeks until "your" New Year/Spring Festival, right? > On 2018/12/19 5:03 AM, Thomas Schwinge wrote: > >> + > >> + if

Re: [PATCH 2/2] PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so

2019-01-07 Thread Christophe Lyon
On Mon, 7 Jan 2019 at 13:39, Jonathan Wakely wrote: > > On 07/01/19 09:48 +, Jonathan Wakely wrote: > >On 07/01/19 10:24 +0100, Christophe Lyon wrote: > >>Hi Jonathan > >> > >>On Sun, 6 Jan 2019 at 23:37, Jonathan Wakely wrote: > >>> > >>>Move std::filesystem directory iterators and

Re: Add new --param knobs for inliner

2019-01-07 Thread Ulrich Weigand
Jan Hubicka wrote: > uinlined-* should be useful for architecutures with greater function > call overhead than modern x86 chips (which is good portion of them, > especially s390 as I learnt on Cauldron). It would be nice to benchmark > effect of those and tune default in config/* files. I think

V3 [PATCH] i386: Add pass_remove_partial_avx_dependency

2019-01-07 Thread H.J. Lu
On Sun, Dec 30, 2018 at 8:40 AM H.J. Lu wrote: > > On Wed, Nov 28, 2018 at 12:17 PM Jeff Law wrote: > > > > On 11/28/18 12:48 PM, H.J. Lu wrote: > > > On Mon, Nov 5, 2018 at 7:29 AM Jan Hubicka wrote: > > >> > > >>> On 11/5/18 7:21 AM, Jan Hubicka wrote: > > > > > > Did you mean "the

[PATCH, testsuite] Require alias support in three tests.

2019-01-07 Thread Iain Sandoe
Hi, These three tests fail on targets without alias support, OK to apply? Iain gcc/testsuite/ * gcc.dg/Wmissing-attributes.c: Require alias support. * gcc.dg/attr-copy-2.c: Likewise. * gcc.dg/attr-copy-5.c: Likewise. --- gcc/testsuite/gcc.dg/Wmissing-attributes.c | 1

Fix ICE in get_initial_defs_for_reduction (PR 88567)

2019-01-07 Thread Richard Sandiford
The use of "j" in: init = permute_results[number_of_vectors - j - 1]; was out-of-sync with the new flat loop structure. Now that all that reversing is gone, we can just use the result of duplicate_and_interleave directly. The other cases shouldn't be affected by postponing the

Fix IFN_MASK_STORE handling of IFN_GOMP_SIMD_LANE

2019-01-07 Thread Richard Sandiford
The IFN_GOMP_SIMD_LANE handling in vectorizable_store tries to use MEM_REF offsets to maintain pointer disambiguation info. This patch makes sure that we don't try to do the same optimisation for IFN_MASK_STOREs, which have no similar offset argument. The patch fixes

Re: [PATCH 3/2] Update documentation for C++17 filesystem library

2019-01-07 Thread Jonathan Wakely
This updates the manual to reflect the std::filesystem definitions moving to the main library. Committed to trunk. commit ca7e342f4f8be3d32a58357b9d85b26fc2635fab Author: Jonathan Wakely Date: Mon Jan 7 12:45:04 2019 + Update documentation for C++17 filesystem library

Re: [PATCH 2/2] PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so

2019-01-07 Thread Jonathan Wakely
On 07/01/19 09:48 +, Jonathan Wakely wrote: On 07/01/19 10:24 +0100, Christophe Lyon wrote: Hi Jonathan On Sun, 6 Jan 2019 at 23:37, Jonathan Wakely wrote: Move std::filesystem directory iterators and operations from libstdc++fs.a to main libstdc++ library. These components have many

GCC 9 Status report (2019-01-07), trunk in regression and documentation fixes mode

2019-01-07 Thread Richard Biener
Status == Stage 3 is done now. Changes of GCC trunk should now be restricted to regression and documentation fixes. That is, it is in the same mode as the open release branches we have. As soon as the count of P1 bugs drops to zero (and un-categorized, aka P3 bugs have been categorized)

Re: [PATCH] genattrtab bit-rot, and if_then_else in values

2019-01-07 Thread Richard Sandiford
Alan Modra writes: > On Fri, Jan 04, 2019 at 12:18:03PM +, Richard Sandiford wrote: >> Alan Modra writes: >> > On Thu, Jan 03, 2019 at 07:03:59PM +, Richard Sandiford wrote: >> >> Richard Sandiford writes: >> >> > This still seems risky and isn't what the name and function comment >> >

Re: [PATCH v3 00/10] AMD GCN Port v3

2019-01-07 Thread Richard Biener
On Mon, Jan 7, 2019 at 11:48 AM Andrew Stubbs wrote: > > New year ping! > > The last remaining middle-end patch was already applied, so it's only > the backend, config, and testsuite patches remaining to be committed. > And, it's mostly only the back end still requiring review. > > Hopefully I

Re: [1/2] PR88598: Optimise x * { 0 or 1, 0 or 1, ... }

2019-01-07 Thread Richard Biener
On Fri, Jan 4, 2019 at 1:44 PM Richard Sandiford wrote: > > Jakub Jelinek writes: > > On Fri, Jan 04, 2019 at 12:13:13PM +, Richard Sandiford wrote: > >> > Can we avoid the gratuitous use of template here? We were told that C++ > >> > would > >> > be used only when it makes things more

Re: [2/2] PR88598: Optimise reduc (bit_and)

2019-01-07 Thread Richard Biener
On Fri, Jan 4, 2019 at 12:49 PM Richard Sandiford wrote: > > This patch folds certain reductions of X & CST to X[I] & CST[I] if I is > the only nonzero element of CST. This includes the motivating case in > which CST[I] is -1. > > We could do the same for REDUC_MAX on unsigned types, but I

Re: [PATCH v3 00/10] AMD GCN Port v3

2019-01-07 Thread Andrew Stubbs
New year ping! The last remaining middle-end patch was already applied, so it's only the backend, config, and testsuite patches remaining to be committed. And, it's mostly only the back end still requiring review. Hopefully I should still be able to get them reviewed and committed in time

Re: [PATCH] Silence some dwarf2out UNSPEC related notes (PR debug/88723)

2019-01-07 Thread Richard Biener
On Mon, 7 Jan 2019, Jakub Jelinek wrote: > Hi! > > Apparently my recent patch turned on many non-delegitimized UNSPEC notes > (it is checking only note, goes away in release builds, but anyway). > > The problem is that formerly UNSPECs were diagnosed that way only when > inside of CONST, but

Re: [PATCH] Replace outdated references to x86_64-unknown-linux-gnu in docs

2019-01-07 Thread Jakub Jelinek
On Mon, Jan 07, 2019 at 09:40:30AM +, Jonathan Wakely wrote: > * doc/install.texi: Replace references to x86_64-unknown-linux-gnu > with x86_64-pc-linux-gnu. > > OK for trunk? Yes, thanks. > commit 7586c65abcb0f0967a11639baf1d9332dbc0339c > Author: Jonathan Wakely > Date: Mon

Re: [PATCH 2/2] PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so

2019-01-07 Thread Jonathan Wakely
On 07/01/19 10:24 +0100, Christophe Lyon wrote: Hi Jonathan On Sun, 6 Jan 2019 at 23:37, Jonathan Wakely wrote: Move std::filesystem directory iterators and operations from libstdc++fs.a to main libstdc++ library. These components have many dependencies on OS support, which is not available

[PATCH] Silence some dwarf2out UNSPEC related notes (PR debug/88723)

2019-01-07 Thread Jakub Jelinek
Hi! Apparently my recent patch turned on many non-delegitimized UNSPEC notes (it is checking only note, goes away in release builds, but anyway). The problem is that formerly UNSPECs were diagnosed that way only when inside of CONST, but now also outside of them. The patch keeps ignoring them

Re: [PATCH] Add vec_extract{v32qiv16qi,v16hiv8hi,v8siv4si,v4div2di,v8sfv4sf,v4dfv2df}

2019-01-07 Thread Uros Bizjak
On Sun, Jan 6, 2019 at 11:33 AM Jakub Jelinek wrote: > > Hi! > > Looking at the output of builtin-convertvector-1.c (f4), this patch changes > the generated code: > vcvttpd2dqy (%rdi), %xmm0 > - vmovdqa %xmm0, %xmm0 > vmovaps %xmm0, (%rsi) > - vzeroupper >

[PATCH] Replace outdated references to x86_64-unknown-linux-gnu in docs

2019-01-07 Thread Jonathan Wakely
* doc/install.texi: Replace references to x86_64-unknown-linux-gnu with x86_64-pc-linux-gnu. OK for trunk? commit 7586c65abcb0f0967a11639baf1d9332dbc0339c Author: Jonathan Wakely Date: Mon Jan 7 09:38:51 2019 + Replace outdated references to x86_64-unknown-linux-gnu

Re: [PATCH] restore CFString handling in attribute format (PR 88638)

2019-01-07 Thread Iain Sandoe
> On 6 Jan 2019, at 23:34, Martin Sebor wrote: > > Attached is an updated patch with the wording change to the manual > discussed below and rebased on the top of today's trunk. Works for me as well. thanks for the patch. Iain > > Martin > > PS Thanks for the additional info, Iain. > > On

Re: [PATCH 2/2] PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so

2019-01-07 Thread Christophe Lyon
Hi Jonathan On Sun, 6 Jan 2019 at 23:37, Jonathan Wakely wrote: > > Move std::filesystem directory iterators and operations from > libstdc++fs.a to main libstdc++ library. These components have many > dependencies on OS support, which is not available on all targets. Some > additional autoconf

Re: [PATCH] [RFC] PR target/52813 and target/11807

2019-01-07 Thread Jakub Jelinek
On Sun, Dec 16, 2018 at 06:13:57PM +0200, Dimitar Dimitrov wrote: > - /* Clobbering the STACK POINTER register is an error. */ > + /* Clobbered STACK POINTER register is not saved/restored by GCC, > + which is often unexpected by users. See PR52813. */ >if (overlaps_hard_reg_set_p

[nvptx] Handle large vector reductions

2019-01-07 Thread Tom de Vries
[ was: Re: [nvptx] vector length patch series ] On 14-12-18 20:58, Tom de Vries wrote: > 0024-nvptx-Handle-large-vector-reductions.patch Committed. Thanks, - Tom [nvptx] Handle large vector reductions Add support for vector reductions with openacc vector_length larger than warp-size.

[nvptx] Don't emit barriers for empty loops -- fix

2019-01-07 Thread Tom de Vries
[ was: Re: [nvptx] vector length patch series ] On 14-12-18 20:58, Tom de Vries wrote: > 0022-nvptx-openacc-Don-t-emit-barriers-for-empty-loops.patch Committed without test-case. Thanks, - Tom [nvptx] Don't emit barriers for empty loops -- fix When compiling an empty loop: ... long long v1;

[nvptx, committed] Add support for a per-worker broadcast buffer and barrier

2019-01-07 Thread Tom de Vries
[ was: Re: [nvptx] vector length patch series ] On 14-12-18 20:58, Tom de Vries wrote: > 0015-nvptx-Generalize-state-propagation-and-synchronizati.patch Committed. Thanks, - Tom [nvptx] Add support for a per-worker broadcast buffer and barrier Add support for a per-worker broadcast buffer and

[committed][nvptx] Allow larger PTX_MAX_VECTOR_LENGTH in nvptx_goacc_validate_dims_1

2019-01-07 Thread Tom de Vries
Hi, Allow PTX_MAX_VECTOR_LENGTH to be defined as larger than PTX_WARP_SIZE in nvptx_goacc_validate_dims_1. Committed to trunk. Thanks, - Tom [nvptx] Allow larger PTX_MAX_VECTOR_LENGTH in nvptx_goacc_validate_dims_1 2019-01-07 Tom de Vries * config/nvptx/nvptx.c

[committed][nvptx] Postpone warnings in nvptx_goacc_validate_dims_1

2019-01-07 Thread Tom de Vries
Hi, this patch moves warnings in nvptx_goacc_validate_dims_1 to as late as possible. This allows us more flexibility in setting the dimensions. Committed to trunk. Thanks, - Tom [nvptx] Postpone warnings in nvptx_goacc_validate_dims_1 2019-01-07 Tom de Vries *

[committed][nvptx] Add asserts in nvptx_goacc_validate_dims

2019-01-07 Thread Tom de Vries
Hi, this patch adds a few asserts to nvptx_goacc_validate_dims. Committed to trunk. Thanks, - Tom [nvptx] Add asserts in nvptx_goacc_validate_dims 2019-01-07 Tom de Vries * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts. --- gcc/config/nvptx/nvptx.c | 4 1

[committed][nvptx] Eliminate PTX_VECTOR_LENGTH

2019-01-07 Thread Tom de Vries
Hi, this patch removes PTX_VECTOR_LENGTH and replaces uses of it with PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE. Committed to trunk. Thanks, - Tom [nvptx] Eliminate PTX_VECTOR_LENGTH 2019-01-07 Tom de Vries * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH):

[nvptx, committed] Fix libgomp.oacc-c-c++-common/vector-length-128-3.c

2019-01-07 Thread Tom de Vries
[was: Re: [nvptx] vector length patch series] On 03-01-19 17:29, Tom de Vries wrote: > +/* { dg-set-target-env-var "GOMP_OPENACC_DIM" "-:-:128" } */ Committed as obvious. Thanks, - Tom [nvptx] Fix libgomp.oacc-c-c++-common/vector-length-128-3.c The vector-length-128-3.c test-case uses

[openacc] Add oacc_get_min_dim

2019-01-07 Thread Tom de Vries
[ was: Re: Fwd: [openacc, committed] Add oacc_get_default_dim ] On 19-12-18 16:27, Tom de Vries wrote: > [ Adding gcc-patches ] > > Forwarded Message > Subject: [openacc, committed] Add oacc_get_default_dim > Date: Wed, 19 Dec 2018 16:24:25 +0100 > From: Tom de Vries > To:

Re: [PATCH] Add __builtin_convertvector support (PR c++/85052, take 2)

2019-01-07 Thread Richard Biener
On Thu, 3 Jan 2019, Jakub Jelinek wrote: > On Thu, Jan 03, 2019 at 06:32:44PM +0100, Marc Glisse wrote: > > > That said, not sure if e.g. using an opaque builtin for the conversion > > > that > > > supportable_convert_operation sometimes uses is better over this ifn. > > > What exact

  1   2   >