Re: [PATCH 2/2] gcc/riscv: Add a mechanism to remove some calls to _riscv_save_0

2019-08-23 Thread Jim Wilson
On Mon, Aug 19, 2019 at 12:15 PM Andrew Burgess wrote: > The solution presented in this patch offers a partial solution to this > problem. By using the TARGET_MACHINE_DEPENDENT_REORG pass to > implement a very limited pattern matching we identify functions that > call _riscv_save_0 and _riscv_res

Re: [patch, fortan] PR87103 - [OOP] ICE in gfc_new_symbol() due to overlong symbol name

2019-08-23 Thread Andrew Benson
This PR is still open - I re-tested the patch on the current trunk. The patch still applies with some line offsets (I've attached the updated patch) and regtests cleanly. It would be very helpful to me to get this patch committed if possible. Thanks, Andrew On Wednesday, September 5, 2018 12:3

Re: [PATCH 1/2] gcc/riscv: Include more registers in SIBCALL_REGS

2019-08-23 Thread Jim Wilson
On Thu, Aug 22, 2019 at 10:30 PM Jim Wilson wrote: > > On Mon, Aug 19, 2019 at 12:15 PM Andrew Burgess > wrote: > > I don't see any reason why we couldn't add t1, and a0 to a7 into this > > set, and this is what this patch does. > > SIBCALL_REGS already includes t1 and t2. It is t0 aka x5 that i

Re: C++ PATCH for P1152R4: Deprecating some uses of volatile (PR c++/91361)

2019-08-23 Thread Marek Polacek
On Fri, Aug 23, 2019 at 02:43:42PM -0700, Jason Merrill wrote: > On 8/23/19 9:32 AM, Marek Polacek wrote: > > This patch implements another C++20 feature, partially deprecating volatile. > > You can read the proposal here: . I encourage > > interested people to read the b

Re: [PATCH 2/2] Fix handling of namespace-scope undeduced auto decls.

2019-08-23 Thread Jason Merrill
On Fri, Aug 23, 2019 at 4:18 PM Jason Merrill wrote: Apparently git send-email only spawns the editor once, so I need to edit both messages before exiting... This testcase comes from committee reflector discussion: 'fn' can't be dependent because it is not in the scope of any template parameters

Re: C++ PATCH for c++/91521 - wrong error with operator->

2019-08-23 Thread Marek Polacek
On Fri, Aug 23, 2019 at 04:20:47PM -0700, Jason Merrill wrote: > > 2019-08-23 Marek Polacek > > > > PR c++/91521 - wrong error with operator->. > > * decl.c (grokdeclarator): Return error_mark_node for an invalid > > trailing return type. > > OK, thanks. Thanks! Applyi

Re: C++ PATCH for c++/91521 - wrong error with operator->

2019-08-23 Thread Jason Merrill
On Fri, Aug 23, 2019 at 4:13 PM Marek Polacek wrote: > On Fri, Aug 23, 2019 at 02:24:17PM -0700, Jason Merrill wrote: > > On 8/23/19 1:37 PM, Marek Polacek wrote: > > > Since r263836 we enter the "a late-specified return type" block in > > > grokdeclarator when inner_declarator is null: > > > > >

[C++ PATCH 1/2] * parser.c (cp_parser_nested_name_specifier_opt): Avoid redundant error.

2019-08-23 Thread Jason Merrill
It's rarely useful to give an additional error message about error_mark_node not being something else. Tested x86_64-pc-linux-gnu, applying to trunk. --- gcc/cp/parser.c | 8 +--- gcc/cp/ChangeLog | 5 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/cp/parser.c b/g

[PATCH 2/2] Fix handling of namespace-scope undeduced auto decls.

2019-08-23 Thread Jason Merrill
* decl2.c (decl_dependent_p): New. (mark_used): Check it instead of just processing_template_decl. --- gcc/cp/decl2.c | 24 - gcc/testsuite/g++.dg/cpp1z/constexpr-if30.C | 10 + gcc/cp/ChangeLog|

Re: C++ PATCH for c++/91521 - wrong error with operator->

2019-08-23 Thread Marek Polacek
On Fri, Aug 23, 2019 at 02:24:17PM -0700, Jason Merrill wrote: > On 8/23/19 1:37 PM, Marek Polacek wrote: > > Since r263836 we enter the "a late-specified return type" block in > > grokdeclarator when inner_declarator is null: > > > > /* Handle a late-specified return type. */ > >

Go patch committed: Record pointer var values to remove write barriers

2019-08-23 Thread Ian Lance Taylor
This Go patch records pointer var values to remove write barriers. We record when a local pointer variable is set to a value such that indirecting through the pointer does not require a write barrier. We use that to eliminate write barriers when indirecting through that local pointer variable. W

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-08-23 Thread Jan Hubicka
> > Sorry, I mean the hash which we use in LGEN even now. So e.g.: > > readelf -S -W main.o > There are 17 section headers, starting at offset 0x958: > > Section Headers: > [Nr] Name TypeAddress OffSize ES > Flg Lk Inf Al > ... > [ 6] .gnu.lto_main.e4

[PATCH] rs6000: New darn testcase (PR91481)

2019-08-23 Thread Segher Boessenkool
We used to implement darn with unspecs, not unspec_volatiles, which means two darn instructions could be CSEd together. This testcase tests it by adding together four random numbers. If all is well that means we get four darn instructions, because such a small loop is unrolled fine at -O2 already

Re: C++ PATCH to implement C++20 P1143R2, constinit (PR c++/91360)

2019-08-23 Thread Jason Merrill
On 8/14/19 2:22 PM, Marek Polacek wrote: This patch implements the C++20 specifier constinit, as described in . It makes sure that the compiler requires constant initialization of a variable (it can only be applied to variables with static or thread storage duration).

Re: [PATCH] RISC-V: Add testcase for testing li pseudo instruction

2019-08-23 Thread Jim Wilson
On Fri, Aug 23, 2019 at 12:13 AM Kito Cheng wrote: > gcc/testsuite/ChangeLog: > gcc.target/riscv/li.c: New test. Thanks. This looks good. This is incidentally a test for a new binutils patch that improves the li macro to emit compressed instructions when possible. We need an execution

Re: C++ PATCH for P1152R4: Deprecating some uses of volatile (PR c++/91361)

2019-08-23 Thread Jason Merrill
On 8/23/19 9:32 AM, Marek Polacek wrote: This patch implements another C++20 feature, partially deprecating volatile. You can read the proposal here: . I encourage interested people to read the background in which provides a lot of interesting

Re: [PATCH] Add CXX_FOR_BUILD to HOST_EXPORTS

2019-08-23 Thread Jeff Law
On 6/18/19 3:34 PM, Michael Forney wrote: > 2019-06-18 Michael Forney > > * Makefile.tpl (HOST_EXPORTS): Add CXX_FOR_BUILD. > * Makefile.in: Regenerate. THanks. I've installed this on the trunk. jeff

Re: [C++ Patch] Fix finish_switch_cond location

2019-08-23 Thread Jason Merrill
On 8/23/19 2:54 AM, Paolo Carlini wrote: Hi, a rather straightforward tweak. We could imagine much more heavily reworking the code to avoid saving the original condition (build_expr_type_conversion return NULL_TREE upon error), I'm not sure if it's worth it. Tested x86_64-linux. OK. Jason

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

2019-08-23 Thread Joseph Myers
On Fri, 23 Aug 2019, Maxim Kuvyrkov wrote: > I propose that we switch to gcc-pretty.git repository, because it has > accurate Committer and Author fields. Developer names and email > addresses are extracted from source history, and accurately track people > changing companies, email addresses,

Re: C++ PATCH for c++/79817 - attribute deprecated on namespace

2019-08-23 Thread Nathan Sidwell
On 8/23/19 5:27 PM, Jason Merrill wrote: On 8/23/19 11:55 AM, Marek Polacek wrote: Bootstrapped/regtested on x86_64-linux, ok for trunk? OK on Monday if Nathan doesn't have more comments before then. ok by me, thanks nathan -- Nathan Sidwell

Re: C++ PATCH for c++/79817 - attribute deprecated on namespace

2019-08-23 Thread Jason Merrill
On 8/23/19 11:55 AM, Marek Polacek wrote: On Thu, Aug 22, 2019 at 11:49:49AM -0700, Jason Merrill wrote: On Thu, Aug 22, 2019 at 11:01 AM Nathan Sidwell wrote: On 8/20/19 9:03 PM, Marek Polacek wrote: and in cp_parser_nested_name_specifier_opt we simply don't know if we're dealing with a fu

Re: C++ PATCH for c++/91521 - wrong error with operator->

2019-08-23 Thread Jason Merrill
On 8/23/19 1:37 PM, Marek Polacek wrote: Since r263836 we enter the "a late-specified return type" block in grokdeclarator when inner_declarator is null: /* Handle a late-specified return type. */ tree late_return_type = declarator->u.function.late_return_type; - if (fun

Re: C++ PATCH for c++/81676 - bogus -Wunused warnings in constexpr if

2019-08-23 Thread Jason Merrill
On 8/19/19 11:28 AM, Marek Polacek wrote: On Fri, Aug 16, 2019 at 06:20:20PM -0700, Jason Merrill wrote: On 8/16/19 2:29 PM, Marek Polacek wrote: This patch is an attempt to fix the annoying -Wunused-but-set-* warnings that tend to occur with constexpr if. When we have something like temp

Re: [PATCH][GCC] Complex division improvements in Libgcc

2019-08-23 Thread Jeff Law
On 8/23/19 5:19 AM, Elen Kalda wrote: > Hi all, > > Libgcc currently implements the Smith's algorithm > (https://dl.acm.org/citation.cfm?id=368661) for complex division. It is > designed to prevent overflows and underflows and it does that well for around > 97.7% cases. However, there has been som

Re: Fix libstdc++ lstat missing return type for Windows target

2019-08-23 Thread Jonathan Wakely
On Fri, 23 Aug 2019 at 14:20, Joseph Myers wrote: > > Building for i686-mingw32 target (with some local changes) produced an > error > > error: ISO C++ forbids declaration of 'lstat' with no type [-fpermissive] > > in libstdc++-v3/src/filesystem/ops-common.h. This patch adds the > missing return

Re: [PATCH] Builtin function roundeven folding implementation

2019-08-23 Thread Joseph Myers
On Fri, 23 Aug 2019, Tejas Joshi wrote: > diff --git a/gcc/builtins.c b/gcc/builtins.c > index 9a766e4ad63..5149d901a96 100644 > --- a/gcc/builtins.c > +++ b/gcc/builtins.c > @@ -2056,6 +2056,7 @@ mathfn_built_in_2 (tree type, combined_fn fn) > CASE_MATHFN (REMQUO) > CASE_MATHFN_FLOATN (

C++ PATCH for c++/91521 - wrong error with operator->

2019-08-23 Thread Marek Polacek
Since r263836 we enter the "a late-specified return type" block in grokdeclarator when inner_declarator is null: /* Handle a late-specified return type. */ tree late_return_type = declarator->u.function.late_return_type; - if (funcdecl_p) + if (funcdecl_p + /* Th

Re: types for VR_VARYING

2019-08-23 Thread Martin Sebor
On 8/15/19 10:06 AM, Aldy Hernandez wrote: Hey Aldy, After enabling EVRP for the strlen pass (as part of the sprintf integration) I get a SEGV in the return statement in the function below. Backing out this change gets rid of the ICE and lets my tests pass, but I have no idea what the root c

Re: [PATCH 0/8] Use signaling FP comparison instructions

2019-08-23 Thread Joseph Myers
I'd expect this series to mention PR target/77918 in its ChangeLog entries (and then once it's in, glibc's sysdeps/s390/fpu/fix-fp-int-compare-invalid.h can be updated accordingly with a __GNUC_PREREQ conditional like in the x86 version). -- Joseph S. Myers jos...@codesourcery.com

[C++ PATCH] vfunc overrider simplification

2019-08-23 Thread Nathan Sidwell
In fixing a vfunc override bug on the modules branch, I noticed that check_for_override can simply check IDENTIFIER_VIRTUAL_P -- the dtor identifier and those for conversion operators will have it set correctly. (there a multiple conversion operator identifiers, but we can only be overriding t

Re: [PATCH V2 2/8] bpf: new GCC port

2019-08-23 Thread Jose E. Marchesi
> +(define_insn "*branch_on_di" > + [(set (pc) > + (if_then_else (match_operator 3 "ordered_comparison_operator" > + [(match_operand:DI 0 "register_operand" "r") > + (match_operand:DI 1 "reg_or_imm_operand" "rI")]) > + (

Re: [RFA] [tree-optimization/80576] Handle non-constant sizes in DSE

2019-08-23 Thread Jeff Law
On 8/22/19 4:46 AM, Richard Biener wrote: >>> Also you seem to use this info to constrain optimization when you >>> might remember that types of addresses do not carry such information... >>> Thus it should be "trivially" possible to write a testcase that is >>> miscompiled >>> after your patch.

Re: [PATCH v2] [MIPS] Add machine mode to get_fcsr pattern operand

2019-08-23 Thread Jeff Law
On 8/23/19 1:45 AM, Mihailo Stojanovic wrote: > Hi, > > Missing machine mode for the unspec_volatile operand of get_fcsr > patterns causes an ICE in simplify_subreg on n64 ABI. > > This adds the missing machine modes and a new test. > > Tested on mips64el-mti-linux-gnu. > > Ok for trunk and pos

Re: C++ PATCH for c++/79817 - attribute deprecated on namespace

2019-08-23 Thread Marek Polacek
On Thu, Aug 22, 2019 at 11:49:49AM -0700, Jason Merrill wrote: > On Thu, Aug 22, 2019 at 11:01 AM Nathan Sidwell wrote: > > > > On 8/20/19 9:03 PM, Marek Polacek wrote: > > > > > and in cp_parser_nested_name_specifier_opt we simply don't know if we're > > > dealing with a function decl. Calling c

[x86 testsuite] preserve full register across main

2019-08-23 Thread Alexandre Oliva
This test uses a call-saved register as a global variable. It attempts to preserve its value across main, but only the lower int part is preserved, which is not good enough for x86_64, when the runtime that calls main() happens to hold something in the chosen register that is not a zero-extension

Re: [PATCH V2 2/8] bpf: new GCC port

2019-08-23 Thread Joseph Myers
On Sat, 17 Aug 2019, Jose E. Marchesi wrote: > +(define_insn "*branch_on_di" > + [(set (pc) > + (if_then_else (match_operator 3 "ordered_comparison_operator" > + [(match_operand:DI 0 "register_operand" "r") > + (match_operand:DI 1 "reg_or_imm_operand

[RFC][vect]PR: 65930 teach vectorizer to handle SUM reductions with sign-change casts

2019-08-23 Thread Andre Vieira (lists)
Hi Richard, I have come up with a way to teach the vectorizer to handle sign-changing reductions, restricted to SUM operations as I'm not sure other reductions are equivalent with different signs. The main nature of this approach is to let it recognize reductions of the form: Phi->NopConver

Re: [PATCH resend 1/2] PR c/65403 - Ignore -Wno-error=

2019-08-23 Thread Alex Henrie
On Fri, Aug 23, 2019 at 3:13 AM Martin Liška wrote: > On 8/23/19 6:17 AM, Alex Henrie wrote: > > +vec ignored_wnoerror_options; > > Here you'll need to add a comment. The declaration of ignored_options in opts-global.c doesn't have a comment either. What would you like the comment to say? > > +

[PATCH 2/2][vect]Make vect-epilogues-nomask=1 default

2019-08-23 Thread Andre Vieira (lists)
Hi, In this patch I turn epilogue vectorization on by default. I had to make changes to the tests since the vectorizer dumps now show the analysis for both the first and second vectorization. This required checks like 'scan-tree-dump-times' to be raised to meet the new numbers. For some test

[PATCH 0/2][vect] Improve vectorization of epilogues

2019-08-23 Thread Andre Vieira (lists)
Hi, In this patch series I address PR 88915 in the first patch, by enabling vectorization of epilogues when doing loop versioning and turn on --param vect-epilogues-nomask=1 on by default in the second patch. I benchmarked intrate SPEC2017 for both aarch64 and x86_64 (AVX512). This patch giv

[PATCH 1/2][vect]PR 88915: Vectorize epilogues when versioning loops

2019-08-23 Thread Andre Vieira (lists)
Hi, This patch is an improvement on my last RFC. As you pointed out, we can do the vectorization analysis of the epilogues before doing the transformation, using the same approach as used by openmp simd. I have not yet incorporated the cost tweaks for vectorizing the epilogue, I would like

[PATCH][AArch64] Add Linux hwcap strings for some extensions

2019-08-23 Thread Kyrill Tkachov
Hi all, This patch adds feature strings for some of the extensions. This string is what is read from /proc/cpuinfo on Linux systems and used during -march=native detection. The strings are taken from the kernel source tree at: https://github.com/torvalds/linux/blob/master/arch/arm64/kernel/cpu

C++ PATCH for P1152R4: Deprecating some uses of volatile (PR c++/91361)

2019-08-23 Thread Marek Polacek
This patch implements another C++20 feature, partially deprecating volatile. You can read the proposal here: . I encourage interested people to read the background in which provides a lot of interesting volatile-related information. Note that P

Re: [RFA] [tree-optimization/80576] Handle non-constant sizes in DSE

2019-08-23 Thread Jeff Law
On 8/22/19 8:40 AM, Martin Sebor wrote: > On 8/21/19 4:47 PM, Jeff Law wrote: >> On 8/19/19 7:57 AM, Richard Biener wrote: >> >>> >>> +static tree >>> +objsize_from_type (tree object) >>> +{ >>> +  if (TREE_CODE (object) != ADDR_EXPR) >>> +    return NULL_TREE; >>> + >>> +  tree type = TREE_TYPE (o

Re: [RFA] [tree-optimization/80576] Handle non-constant sizes in DSE

2019-08-23 Thread Jeff Law
On 8/22/19 10:39 AM, Martin Sebor wrote: > On 8/21/19 4:34 PM, Jeff Law wrote: >> On 8/16/19 4:21 PM, Martin Sebor wrote: >>> On 8/16/19 12:15 PM, Jeff Law wrote: On 8/16/19 12:09 PM, Marc Glisse wrote: > On Fri, 16 Aug 2019, Jeff Law wrote: > >> This patch improves our ability to

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-08-23 Thread Martin Liška
On 8/23/19 5:05 PM, Jan Hubicka wrote: >> On 8/23/19 4:37 PM, Jan Hubicka wrote: On 8/23/19 2:33 PM, Martin Liška wrote: > So in WPA, we shift order by order_base. For streaming purpose I'll need > something like symtab_node::lgen_order that will be streamer_read_hwi > (ib).

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-08-23 Thread Jan Hubicka
> On 8/23/19 4:37 PM, Jan Hubicka wrote: > >> On 8/23/19 2:33 PM, Martin Liška wrote: > >>> So in WPA, we shift order by order_base. For streaming purpose I'll need > >>> something like symtab_node::lgen_order that will be streamer_read_hwi > >>> (ib). > >> > >> And we'll probably need to stream t

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-08-23 Thread Martin Liška
On 8/23/19 4:37 PM, Jan Hubicka wrote: >> On 8/23/19 2:33 PM, Martin Liška wrote: >>> So in WPA, we shift order by order_base. For streaming purpose I'll need >>> something like symtab_node::lgen_order that will be streamer_read_hwi (ib). >> >> And we'll probably need to stream the original LGEN sy

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-08-23 Thread Jan Hubicka
> On 8/23/19 2:33 PM, Martin Liška wrote: > > So in WPA, we shift order by order_base. For streaming purpose I'll need > > something like symtab_node::lgen_order that will be streamer_read_hwi (ib). > > And we'll probably need to stream the original LGEN symtab_node::order > in order to read prope

[PING] [PATCH] Sanitizing the middle-end interface to the back-end for strict alignment

2019-08-23 Thread Bernd Edlinger
On 8/23/19 12:57 AM, Jeff Law wrote: > On 8/15/19 1:47 PM, Bernd Edlinger wrote: >> Hi, >> >> this is the split out part from the "Fix not 8-byte aligned ldrd/strd on >> ARMv5 (PR 89544)" >> which is sanitizing the middle-end interface to the back-end for strict >> alignment, >> and a couple of b

Re: [PATCH][ARM] Deprecate -mneon-for-64bits

2019-08-23 Thread Kyrill Tkachov
On 8/23/19 3:22 PM, Wilco Dijkstra wrote: Hi Kyrill, Please also adjust the documentation in doc/invoke.texi to say it's deprecated and has no effect. Sure, updated docs and also use Deprecated feature in arm.opts: --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt @@ -276,8 +276,

Re: [PATCH][ARM] Deprecate -mneon-for-64bits

2019-08-23 Thread Wilco Dijkstra
Hi Kyrill, > Please also adjust the documentation in doc/invoke.texi to say it's > deprecated and has no effect. Sure, updated docs and also use Deprecated feature in arm.opts: --- a/gcc/config/arm/arm.opt +++ b/gcc/config/arm/arm.opt @@ -276,8 +276,8 @@ Target Report Var(unaligned_access) Ini

Re: [PATCH V2 2/8] bpf: new GCC port

2019-08-23 Thread Richard Sandiford
jose.march...@oracle.com (Jose E. Marchesi) writes: > > +#undef TARGET_PASS_BY_REFERENCE > > +#define TARGET_PASS_BY_REFERENCE bpf_pass_by_reference > > I might have misunderstood, but I thought from an earlier (IRC?) > message, it wasn't possible for the ca

Re: [SVE] PR86753

2019-08-23 Thread Richard Sandiford
Prathamesh Kulkarni writes: > On Fri, 23 Aug 2019 at 18:15, Richard Sandiford > wrote: >> >> Prathamesh Kulkarni writes: >> > On Thu, 22 Aug 2019 at 16:44, Richard Biener >> > wrote: >> >> It looks a bit odd to me. I'd have expected it to work by generating >> >> the stmts as before in the ve

Re: [SVE] PR86753

2019-08-23 Thread Prathamesh Kulkarni
On Fri, 23 Aug 2019 at 18:15, Richard Sandiford wrote: > > Prathamesh Kulkarni writes: > > On Thu, 22 Aug 2019 at 16:44, Richard Biener > > wrote: > >> > >> On Wed, Aug 21, 2019 at 8:24 PM Prathamesh Kulkarni > >> wrote: > >> > > >> > On Thu, 15 Aug 2019 at 01:50, Richard Sandiford > >> > wro

Re: [PATCH v2 3/9] Introduce can_vector_compare_p function

2019-08-23 Thread Richard Sandiford
Ilya Leoshkevich writes: >> Am 23.08.2019 um 12:43 schrieb Richard Sandiford : >> >> Ilya Leoshkevich writes: >>> @@ -3819,6 +3820,82 @@ can_compare_p (enum rtx_code code, machine_mode mode, >>> return 0; >>> } >>> >>> +/* can_vector_compare_p presents fake rtx binary operations to the the >

Fix libstdc++ lstat missing return type for Windows target

2019-08-23 Thread Joseph Myers
Building for i686-mingw32 target (with some local changes) produced an error error: ISO C++ forbids declaration of 'lstat' with no type [-fpermissive] in libstdc++-v3/src/filesystem/ops-common.h. This patch adds the missing return type. OK to commit (trunk and GCC 9 branch)? Note 1: I haven't

Re: [PATCH][ARM] Deprecate -mneon-for-64bits

2019-08-23 Thread Kyrill Tkachov
Hi Wilco, On 8/23/19 1:21 PM, Wilco Dijkstra wrote: Hi, As Kyrill suggested in https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01551.html -mneon-for-64bits has no effect anymore so we should deprecate it in GCC10: Deprecate -mneon-for-64bits since it no longer has any effect after the DImode

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-08-23 Thread Martin Liška
On 8/23/19 2:33 PM, Martin Liška wrote: > So in WPA, we shift order by order_base. For streaming purpose I'll need > something like symtab_node::lgen_order that will be streamer_read_hwi (ib). And we'll probably need to stream the original LGEN symtab_node::order in order to read proper section du

Re: [SVE] PR86753

2019-08-23 Thread Richard Sandiford
Prathamesh Kulkarni writes: > On Thu, 22 Aug 2019 at 16:44, Richard Biener > wrote: >> >> On Wed, Aug 21, 2019 at 8:24 PM Prathamesh Kulkarni >> wrote: >> > >> > On Thu, 15 Aug 2019 at 01:50, Richard Sandiford >> > wrote: >> > > >> > > Richard Biener writes: >> > > > On Wed, Aug 14, 2019 at 6

Re: [PATCH] Fix PR91522

2019-08-23 Thread Richard Biener
On Fri, 23 Aug 2019, Richard Biener wrote: > On Fri, 23 Aug 2019, Uros Bizjak wrote: > > > On Thu, Aug 22, 2019 at 3:35 PM Richard Biener wrote: > > > > > > > > > This fixes quadraticness in STV and makes > > > > > > machine dep reorg : 89.07 ( 95%) 0.02 ( 18%) 89.10 ( > >

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-08-23 Thread Martin Liška
On 8/15/19 4:33 PM, Jan Hubicka wrote: >> On Fri, Aug 9, 2019 at 3:57 PM Martin Liška wrote: >>> >>> Hi. >>> >>> The patch is about prevention of LTO section name clashing. >>> Now we have a situation where body of 2 functions is streamed >>> into the same ELF section. Then we'll end up with smash

[PATCH][ARM] Deprecate -mneon-for-64bits

2019-08-23 Thread Wilco Dijkstra
Hi, As Kyrill suggested in https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01551.html -mneon-for-64bits has no effect anymore so we should deprecate it in GCC10: Deprecate -mneon-for-64bits since it no longer has any effect after the DImode codegen improvements. OK for commit? ChangeLog: 2019-08

Re: [SVE] PR86753

2019-08-23 Thread Prathamesh Kulkarni
On Thu, 22 Aug 2019 at 16:44, Richard Biener wrote: > > On Wed, Aug 21, 2019 at 8:24 PM Prathamesh Kulkarni > wrote: > > > > On Thu, 15 Aug 2019 at 01:50, Richard Sandiford > > wrote: > > > > > > Richard Biener writes: > > > > On Wed, Aug 14, 2019 at 6:49 PM Richard Biener > > > > wrote: > > >

Re: [RFC PATCH, i386]: Improve STV pass by correcting the cost of moves to/from XMM reg

2019-08-23 Thread Uros Bizjak
On Fri, Aug 23, 2019 at 1:52 PM Richard Biener wrote: > > On Fri, 23 Aug 2019, Uros Bizjak wrote: > > > This is currently a heads-up patch that removes the minimum limitation > > of cost of moves to/from XMM reg. The immediate benefit is the removal > > of mismatched spills, caused by subreg usage

Re: [RFC PATCH, i386]: Improve STV pass by correcting the cost of moves to/from XMM reg

2019-08-23 Thread Richard Biener
On Fri, 23 Aug 2019, Uros Bizjak wrote: > This is currently a heads-up patch that removes the minimum limitation > of cost of moves to/from XMM reg. The immediate benefit is the removal > of mismatched spills, caused by subreg usage. > > *If* the patch proves to be beneficial (as in "doesn't regr

Re: [PATCH] Builtin function roundeven folding implementation

2019-08-23 Thread Martin Jambor
Hi, On Fri, Aug 23 2019, Tejas Joshi wrote: > Hi, > This is a full patch for the roundeven variants along with > documentation and additional testcases. The following code also > conforms to GNU's coding standards. > > Thanks, > Tejas > > 2019-08-22 Tejas Joshi > Martin Jambor > >

Re: GCC 9 backports

2019-08-23 Thread Martin Liška
There are 3 more tested patches that I going to backport. Martin >From a413f183a85bc9a08e3dcd9e9d617086fce86460 Mon Sep 17 00:00:00 2001 From: marxin Date: Thu, 15 Aug 2019 06:58:36 + Subject: [PATCH 3/3] Backport r274504 gcc/ChangeLog: 2019-08-15 Martin Liska PR ipa/91438 * cgraph.c

Re: [RFC PATCH, i386]: Improve STV pass by correcting the cost of moves to/from XMM reg

2019-08-23 Thread Uros Bizjak
And now with the patch attached. On Fri, Aug 23, 2019 at 1:39 PM Uros Bizjak wrote: > > This is currently a heads-up patch that removes the minimum limitation > of cost of moves to/from XMM reg. The immediate benefit is the removal > of mismatched spills, caused by subreg usage. > > *If* the patc

[RFC PATCH, i386]: Improve STV pass by correcting the cost of moves to/from XMM reg

2019-08-23 Thread Uros Bizjak
This is currently a heads-up patch that removes the minimum limitation of cost of moves to/from XMM reg. The immediate benefit is the removal of mismatched spills, caused by subreg usage. *If* the patch proves to be beneficial (as in "doesn't regress important benchmarks"), then we should be able

Re: [PATCH v2 3/9] Introduce can_vector_compare_p function

2019-08-23 Thread Ilya Leoshkevich
> Am 23.08.2019 um 13:24 schrieb Richard Biener : > > On Fri, Aug 23, 2019 at 12:43 PM Richard Sandiford > wrote: >> >> Ilya Leoshkevich writes: >>> @@ -3819,6 +3820,82 @@ can_compare_p (enum rtx_code code, machine_mode mode, >>> return 0; >>> } >>> >>> +/* can_vector_compare_p presents fake

Re: [PATCH v2 3/9] Introduce can_vector_compare_p function

2019-08-23 Thread Ilya Leoshkevich
> Am 23.08.2019 um 12:43 schrieb Richard Sandiford : > > Ilya Leoshkevich writes: >> @@ -3819,6 +3820,82 @@ can_compare_p (enum rtx_code code, machine_mode mode, >> return 0; >> } >> >> +/* can_vector_compare_p presents fake rtx binary operations to the the >> back-end >> + in order to dete

Re: [PATCH] Make -flto=jobserver parallel again.

2019-08-23 Thread Richard Biener
On Fri, Aug 23, 2019 at 1:02 PM Martin Liška wrote: > > Hi. > > As I did quite some changes in the LTO logic, revision > r274232 dropped default value of parallel back to 0. > Doing that, I forgot to set it to 1 at the places where > jobserver is detected. > > I tested that LTO bootstrap is parall

Re: [PATCH v2 3/9] Introduce can_vector_compare_p function

2019-08-23 Thread Richard Biener
On Fri, Aug 23, 2019 at 12:43 PM Richard Sandiford wrote: > > Ilya Leoshkevich writes: > > @@ -3819,6 +3820,82 @@ can_compare_p (enum rtx_code code, machine_mode mode, > >return 0; > > } > > > > +/* can_vector_compare_p presents fake rtx binary operations to the the > > back-end > > + in

[PATCH][GCC] Complex division improvements in Libgcc

2019-08-23 Thread Elen Kalda
Hi all, Libgcc currently implements the Smith's algorithm (https://dl.acm.org/citation.cfm?id=368661) for complex division. It is designed to prevent overflows and underflows and it does that well for around 97.7% cases. However, there has been some interest in improving that result, as an example

Re: [Patch v2] Enable math functions linking with static library for LTO

2019-08-23 Thread Richard Biener
On Fri, Aug 23, 2019 at 3:40 AM luoxhu wrote: > > Hi Richard, > > On 2019/8/13 17:10, Richard Biener wrote: > > On Tue, Aug 13, 2019 at 4:22 AM luoxhu wrote: > >> > >> Hi Richard, > >> > >> On 2019/8/12 16:51, Richard Biener wrote: > >>> On Mon, Aug 12, 2019 at 8:50 AM luoxhu wrote: > > >>>

Re: dwarf2out suspicious code

2019-08-23 Thread Richard Biener
On Thu, Aug 22, 2019 at 8:59 PM Nathan Sidwell wrote: > > Honza, Ricard, > > I fell over this assert in dwarf2out.c, but the later comment says it > can happen?? does a checking build fail on LTO? Huh, certainly loosks odd. So I suggest you try yourself (with LTO bootstrap?). It was added as a

[PATCH] Make -flto=jobserver parallel again.

2019-08-23 Thread Martin Liška
Hi. As I did quite some changes in the LTO logic, revision r274232 dropped default value of parallel back to 0. Doing that, I forgot to set it to 1 at the places where jobserver is detected. I tested that LTO bootstrap is parallel again. Ready to be installed? Thanks, Martin gcc/ChangeLog: 201

Re: [PATCH] Fix PR91522

2019-08-23 Thread Richard Biener
On Fri, 23 Aug 2019, Uros Bizjak wrote: > On Thu, Aug 22, 2019 at 3:35 PM Richard Biener wrote: > > > > > > This fixes quadraticness in STV and makes > > > > machine dep reorg : 89.07 ( 95%) 0.02 ( 18%) 89.10 ( > > 95%) 54 kB ( 0%) > > > > drop to zero. Anybody rememb

[PATCH] Schedule another update_address_taken late

2019-08-23 Thread Richard Biener
As can be seen on the testcase in PR91526 the vectorizer can end up marking things addressable because it creates very many pointer IV. Then unrolling can completely elide a loop or IVOPTs can choose other IVs. Thus it's certainly beneficial for other passes to have an updated TREE_ADDRESSABLE,

Re: [PATCH v2 3/9] Introduce can_vector_compare_p function

2019-08-23 Thread Richard Sandiford
Ilya Leoshkevich writes: > @@ -3819,6 +3820,82 @@ can_compare_p (enum rtx_code code, machine_mode mode, >return 0; > } > > +/* can_vector_compare_p presents fake rtx binary operations to the the > back-end > + in order to determine its capabilities. In order to avoid creating fake > +

Re: [PATCH v6 3/3] PR80791 Consider doloop cmp use in ivopts

2019-08-23 Thread Segher Boessenkool
Hi! On Fri, Aug 23, 2019 at 05:43:32PM +0800, Bin.Cheng wrote: > On Fri, Aug 23, 2019 at 4:27 PM Kewen.Lin wrote: > Not sure if non-ivopts parts are already approved? If so, the patch > is okay with above issues addressed. The rs6000 part is fine. The target.def entries need some spell check a

Re: [PATCH][Arm] Add support for missing CPUs

2019-08-23 Thread Dennis Zhang
Thanks a lot Kyrill! I will bare this in mind for future patches. Dennis From: Kyrill Tkachov Sent: Friday, August 23, 2019 9:27 AM To: Dennis Zhang ; gcc-patches@gcc.gnu.org Cc: nd ; Richard Earnshaw ; Ramana Radhakrishnan Subject: Re: [PATCH][Arm] Add suppo

[C++ Patch] Fix finish_switch_cond location

2019-08-23 Thread Paolo Carlini
Hi, a rather straightforward tweak. We could imagine much more heavily reworking the code to avoid saving the original condition (build_expr_type_conversion return NULL_TREE upon error), I'm not sure if it's worth it. Tested x86_64-linux. Thanks, Paolo. /cp 2019-08

Re: [PATCH v6 3/3] PR80791 Consider doloop cmp use in ivopts

2019-08-23 Thread Bin.Cheng
On Fri, Aug 23, 2019 at 4:27 PM Kewen.Lin wrote: > > Hi Bin > > on 2019/8/23 上午10:19, Bin.Cheng wrote: > > On Thu, Aug 22, 2019 at 3:09 PM Kewen.Lin wrote: > >> > >> Hi Bin, > >> > >> on 2019/8/22 下午1:46, Bin.Cheng wrote: > >>> On Thu, Aug 22, 2019 at 11:18 AM Kewen.Lin wrote: > > Hi B

Re: [PATCH resend 1/2] PR c/65403 - Ignore -Wno-error=

2019-08-23 Thread Martin Liška
Hello. I have couple of notes about the patch: On 8/23/19 6:17 AM, Alex Henrie wrote: > From: Manuel López-Ibáñez > > * opts-common.c (ignored_wnoerror_options): New global variable. > * opts-global.c (print_ignored_options): Ignore > -Wno-error= except if there are other >

Re: [PATCH][Arm] Add support for missing CPUs

2019-08-23 Thread Kyrill Tkachov
Hi Dennis, On 8/22/19 4:52 PM, Dennis Zhang wrote: Hi all, This patch adds '-mcpu' options for following CPUs: Cortex-M35P, Cortex-A77, Cortex-A76AE. Related specifications are as following: https://developer.arm.com/ip-products/processors/cortex-m https://developer.arm.com/ip-products/process

Re: [PATCH v6 3/3] PR80791 Consider doloop cmp use in ivopts

2019-08-23 Thread Kewen.Lin
Hi Bin on 2019/8/23 上午10:19, Bin.Cheng wrote: > On Thu, Aug 22, 2019 at 3:09 PM Kewen.Lin wrote: >> >> Hi Bin, >> >> on 2019/8/22 下午1:46, Bin.Cheng wrote: >>> On Thu, Aug 22, 2019 at 11:18 AM Kewen.Lin wrote: Hi Bin, Thanks for your time! on 2019/8/21 下午8:32, Bin.Ch

[PATCH v2] [MIPS] Add machine mode to get_fcsr pattern operand

2019-08-23 Thread Mihailo Stojanovic
Hi, Missing machine mode for the unspec_volatile operand of get_fcsr patterns causes an ICE in simplify_subreg on n64 ABI. This adds the missing machine modes and a new test. Tested on mips64el-mti-linux-gnu. Ok for trunk and possibly backport? Cheers, Mihailo gcc/ * config/mips/mips

[PATCH] RISC-V: Add testcase for testing li pseudo instruction

2019-08-23 Thread Kito Cheng
gcc/testsuite/ChangeLog: gcc.target/riscv/li.c: New test. --- gcc/testsuite/gcc.target/riscv/li.c | 36 + 1 file changed, 36 insertions(+) create mode 100644 gcc/testsuite/gcc.target/riscv/li.c diff --git a/gcc/testsuite/gcc.target/riscv/li.c b/gcc/testsuite