[PATCH] bootstrap: Fix building with GCC 4.2 [PR89494]

2020-04-16 Thread Jakub Jelinek via Gcc-patches
Hi! GCC 4.2 (but I think not the latest tip of GCC 4.2 branch) has broken value initialization, see PR33916. The following patch provides a workaround for that. Tested with GCC 4.2 on a reduced testcase I've distilled from the assign_param_data_one class which has been miscompiled the same, and

Re: [PATCH] intl: Allow building both with old bison and bison >= 3 [PR92008]

2020-04-16 Thread Richard Biener
On Thu, 16 Apr 2020, Jakub Jelinek wrote: > Hi! > > bison 3 apparently made a backwards incompatible change, dropped > YYLEX_PARAM/YYPARSE_PARAM support and instead needs %param or %lex-param > and %parse-param. Furthermore, there is no easy way to conditionalize > on bison version in the *.y fi

Re: [PATCH] bootstrap: Fix building with GCC 4.2 [PR89494]

2020-04-16 Thread Richard Biener
On Thu, 16 Apr 2020, Jakub Jelinek wrote: > Hi! > > GCC 4.2 (but I think not the latest tip of GCC 4.2 branch) has broken value > initialization, see PR33916. The following patch provides a workaround for > that. Tested with GCC 4.2 on a reduced testcase I've distilled from the > assign_param_d

[committed] libstdc++: Fix -Wunused-parameter warning in test

2020-04-16 Thread Jonathan Wakely via Gcc-patches
* testsuite/20_util/unsynchronized_pool_resource/allocate.cc: Remove name of unused parameter. Not an important change, just a tiny clean-up. Tested x86_64-linux and committed to master. commit c8d88bf26e4c4c0eeddbf6a9dc184f28d4ef85e4 Author: Jonathan Wakely Date: Thu Apr 16 0

[stage1] [PATCH] Merge dg-options and dg-additional-options if len <= 120 chars.

2020-04-16 Thread Martin Liška
On 4/14/20 1:43 PM, Jakub Jelinek wrote: Roughly, yes. A few extra in testcases don't hurt necessarily, but say 160 chars or more is clearly too much. All right, I made a limit of 120 characters for the changes. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to

Re: [PATCH] pretty-print SSA names

2020-04-16 Thread Richard Biener
On Wed, 15 Apr 2020, David Malcolm wrote: > On Wed, 2020-04-15 at 14:52 +0200, Richard Biener wrote: > > This adds the SSA name version to the gdb pretty-printing of SSA > > names. > > > > (gdb) p (tree)$1 > > $5 = > > > > Tested (see above...). > > > > OK? > > > Thanks, > > Richard. > > > >

Re: [stage1] [PATCH] Merge dg-options and dg-additional-options if len <= 120 chars.

2020-04-16 Thread Jakub Jelinek via Gcc-patches
On Thu, Apr 16, 2020 at 09:50:02AM +0200, Martin Liška wrote: > On 4/14/20 1:43 PM, Jakub Jelinek wrote: > > Roughly, yes. A few extra in testcases don't hurt necessarily, but say 160 > > chars or more is clearly too much. > > All right, I made a limit of 120 characters for the changes. > > Patc

Re: [PATCH V2]aarch64: falkor-tag-collision-avoidance.c fix valid_src_p for use of uninitialized value

2020-04-16 Thread Andrea Corallo
Hi all, I'd like to back-port this to the gcc-9 branch. This patch is directly based on: https://gcc.gnu.org/pipermail/gcc-patches/2020-April/543627.html https://gcc.gnu.org/pipermail/gcc-patches/2020-April/543901.html Bootstrapped and reg tested. Ok for release/gcc-9? Bests Andrea gcc/Chan

[PATCH] middle-end/94614 - avoid multiword moves to nothing

2020-04-16 Thread Richard Biener
This adjusts emit_move_multi_word to handle moves into paradoxical subregs parts that are not there and resolve_clobber to handle such subregs. Bootstrap & regtest running on x86_64-unknown-linux-gnu. The testcase involves writing to a register out of bounds so I'm not sure this is the correct

[PATCH] Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin.

2020-04-16 Thread Martin Liška
Hi. The patch is fix for Cygwin where we should not define HAVE_DOS_BASED_FILE_SYSTEM and use back slashes as a path component separator. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I'm going to install the patch if there are no objections. Thanks, Martin ChangeLog:

[PATCH] testsuite: Move misplaced gcc.c-torture/pr92372.c test [PR92372]

2020-04-16 Thread Jakub Jelinek via Gcc-patches
Hi! This test got committed into a spot where nothing actually tests it. As there is no main, I assume it was meant to be gcc.c-torture/compile/ test and the test PASSes after moving there (both x86_64-linux and i686-linux). Though, it passed before the PR92372 fixes too. Ok for trunk? 2020-04-

Re: [RFC] split pseudos during loop unrolling in RTL unroller

2020-04-16 Thread Richard Biener via Gcc-patches
On Wed, Apr 15, 2020 at 11:23 PM Segher Boessenkool wrote: > > Hi! > > On Wed, Apr 15, 2020 at 08:21:03AM +0200, Richard Biener wrote: > > On Wed, Apr 15, 2020 at 3:56 AM Jiufu Guo via Gcc-patches > > wrote: > > > As you may know, we have loop unroll pass in RTL which was introduced a > > > few

Re: [PATCH] middle-end/94614 - avoid multiword moves to nothing

2020-04-16 Thread Jakub Jelinek via Gcc-patches
On Thu, Apr 16, 2020 at 10:05:32AM +0200, Richard Biener wrote: > 2020-04-16 Richard Biener > > PR middle-end/94614 > * expr.c (emit_move_multi_word): Do not generate code when > the destination part is undefined_operand_subword_p. > * lower-subreg.c (resolve_clobber): L

Re: [PATCH] testsuite: Move misplaced gcc.c-torture/pr92372.c test [PR92372]

2020-04-16 Thread Richard Biener via Gcc-patches
On Thu, Apr 16, 2020 at 10:23 AM Jakub Jelinek via Gcc-patches wrote: > > Hi! > > This test got committed into a spot where nothing actually tests it. > As there is no main, I assume it was meant to be gcc.c-torture/compile/ > test and the test PASSes after moving there (both x86_64-linux and > i6

Re: [PATCH] sra: Fix access verification (PR 94598)

2020-04-16 Thread Martin Jambor
Hi, On Wed, Apr 15 2020, Richard Biener wrote: > On Wed, 15 Apr 2020, Martin Jambor wrote: > >> Hi, >> >> get_ref_base_and_extent recognizes ARRAY_REFs with variable index but >> into arrays of length one as constant offset accesses. However, >> max_size in such cases is extended to span the who

[PATCH] intl: Unbreak intl build with bison 3 when no regeneration is needed [PR92008]

2020-04-16 Thread Jakub Jelinek via Gcc-patches
Hi! As Iain reported, my change broke the case when one has bison >= 3, but make decides there is no reason to regenerate plural.c, unfortunately that seems to be a scenario I haven't tested. The problem is that the pregenerated plural.c has been generated with bison 1.35, but when config.h says

Re: [PATCH] intl: Unbreak intl build with bison 3 when no regeneration is needed [PR92008]

2020-04-16 Thread Richard Biener
On Thu, 16 Apr 2020, Jakub Jelinek wrote: > Hi! > > As Iain reported, my change broke the case when one has bison >= 3, > but make decides there is no reason to regenerate plural.c, unfortunately > that seems to be a scenario I haven't tested. The problem is that > the pregenerated plural.c has

Re: [PR C++ 94426] Lambda linkage

2020-04-16 Thread Iain Sandoe via Gcc-patches
Hi Nathan, Iain Sandoe wrote: > Nathan Sidwell wrote: > >> My fix for 94147 was confusing no-linkage with internal linkage, at the >> language level. That's wrong. (the std is confusing here, because it >> describes linkage of names (which is wrong), and lambdas have no names) >> >> Lambda

[PATCH] cleanup graphite results

2020-04-16 Thread Richard Biener
This removes { dg-final { scan-tree-dump "tiled" "graphite" } } scans from graphite tests that pass/fail dependent on the ISL version used. Note all scans match the actually dumped "not tiled" messages with ISL 0.12 and not the alternative "tiled by ". With ISL 0.22 neither is printed because the

[patch, fortran] Fix PR PR93500

2020-04-16 Thread Thomas Koenig via Gcc-patches
Hello world, this patch fixes PR PR93500. One part of it is due to what Steve wrote in the patch (returning from resolutions when both operands are NULL), but that still left a nonsensical error. Returning &gfc_bad_expr when simplifying bounds resulted in the division by zero error actually reac

[committed] early-remat: Handle sets of multiple candidate regs [PR94605]

2020-04-16 Thread Richard Sandiford
early-remat.c:process_block wasn't handling insns that set multiple candidate registers, which led to an assertion failure at the end of the main loop. Instructions that set two pseudos aren't rematerialisation candidates in themselves, but we still need to track them if another instruction that s

[PATCH 0/19][GCC-8] aarch64: Backport outline atomics

2020-04-16 Thread Andre Vieira (lists)
Hi, This series backports all the patches and fixes regarding outline atomics to the gcc-8 branch. Bootstrapped the series for aarch64-linux-gnu and regression tested. Is this OK for gcc-8? Andre Vieira (19): aarch64: Add early clobber for aarch64_store_exclusive aarch64: Simplify LSE cas gen

[PATCH 6/19][GCC-8] aarch64: Remove early clobber from ATOMIC_LDOP scratch

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline.     2018-10-31  Richard Henderson     * config/aarch64/atomics.md (aarch64_atomic__lse):     scratch register need not be early-clobber.  Document the reason     why we cannot use ST. diff --git a/gcc/config/aarch64/atomics.md b/gcc/config/

[PATCH 4/19][GCC-8] aarch64: Improve swp generation

2020-04-16 Thread Andre Vieira (lists)
Allow zero as an input; fix constraints; avoid unnecessary split. 2020-04-16  Andre Vieira     Backport from mainline.     2018-10-31  Richard Henderson     * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): Remove.     (aarch64_gen_atomic_ldop): Don't call it.     * config/aarch64/atomic

[PATCH 2/19][GCC-8] aarch64: Simplify LSE cas generation

2020-04-16 Thread Andre Vieira (lists)
The cas insn is a single insn, and if expanded properly need not be split after reload.  Use the proper inputs for the insn. 2020-04-16  Andre Vieira     Backport from mainline.     2018-10-31  Richard Henderson     * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):     Force oldva

[PATCH 5/19][GCC-8] aarch64: Improve atomic-op lse generation

2020-04-16 Thread Andre Vieira (lists)
Fix constraints; avoid unnecessary split.  Drop the use of the atomic_op iterator in favor of the ATOMIC_LDOP iterator; this is simplier and more logical for ldclr aka bic. 2020-04-16  Andre Vieira     Backport from mainline.     2018-10-31  Richard Henderson     * config/aarch64/aarch64.c (a

[PATCH 1/19][GCC-8] aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368]

2020-04-16 Thread Andre Vieira (lists)
gcc/ChangeLog: 2020-04-16  Andre Vieira     Backport from mainline.     2018-07-16  Ramana Radhakrishnan     * config/aarch64/atomics.md (aarch64_store_execlusive): Add     early clobber. diff --git a/gcc/config/aarch64/atomics.md b/gcc/config/aarch64/atomics.md index 686e39ff2ee5940e9e93d0c

[PATCH 3/19] aarch64: Improve cas generation

2020-04-16 Thread Andre Vieira (lists)
Do not zero-extend the input to the cas for subword operations; instead, use the appropriate zero-extending compare insns. Correct the predicates and constraints for immediate expected operand. 2020-04-16  Andre Vieira     Backport from mainline.     2018-10-31  Richard Henderson     * config

[PATCH 9/19][GCC-8] aarch64: Tidy aarch64_split_compare_and_swap

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline.     2019-09-19  Richard Henderson     * config/aarch64/aarch64 (aarch64_split_compare_and_swap):Unify some code paths;     use aarch64_gen_compare_reg instead of open-coding. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/

[PATCH 12/19][GCC-8] aarch64: Implement -moutline-atomics

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline     2019-09-19  Richard Henderson     * config/aarch64/aarch64.opt (-moutline-atomics): New.     * config/aarch64/aarch64.c (aarch64_atomic_ool_func): New.     (aarch64_ool_cas_names, aarch64_ool_swp_names): New.     (aarch64_ool_ldadd_names,

[PATCH 11/19][GCC-8] Add visibility to libfunc constructors

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline.     2018-10-31  Richard Henderson     * optabs-libfuncs.c (build_libfunc_function_visibility):     New, split out from...     (build_libfunc_function): ... here.     (init_one_libfunc_visibility): New, split out from ...     (init_one_libfun

[PATCH 14/19][GCC-8] aarch64: Fix store-exclusive in load-operate LSE helpers

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline     2019-09-25  Richard Henderson     PR target/91834     * config/aarch64/lse.S (LDNM): Ensure STXR output does not     overlap the inputs. diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S index a5f6673596c73c497156a6

[PATCH 10/19][GCC-8] aarch64: Add out-of-line functions for LSE atomics

2020-04-16 Thread Andre Vieira (lists)
This is the libgcc part of the interface -- providing the functions. Rationale is provided at the top of libgcc/config/aarch64/lse.S. 2020-04-16  Andre Vieira     Backport from mainline     2019-09-19  Richard Henderson     * config/aarch64/lse-init.c: New file.     * config/aarch64/lse.S: Ne

[PATCH 13/19][GCC-8] Aarch64: Fix shrinkwrapping interactions with atomics

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline     2020-01-17  Wilco Dijkstra     PR target/92692     * config/aarch64/atomics.md (aarch64_compare_and_swap)     Use epilogue_completed rather than reload_completed. diff --git a/gcc/config/aarch64/atomics.md b/gcc/config/aarch64/atomics.md

[PATCH 8/19][GCC-8] aarch64: Implement TImode compare-and-swap

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline.     2019-09-19  Richard Henderson     * config/aarch64/aarch64.c (aarch64_gen_compare_reg): Add support     for NE comparison of TImode values.     (aarch64_emit_load_exclusive): Add support for TImode.     (aarch64_emit_store_exclusive): Li

[PATCH 7/19][GCC-8] aarch64: Extend %R for integer registers

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline.     2019-09-19  Richard Henderson     * config/aarch64/aarch64.c (aarch64_print_operand): Allow integer     registers with %R. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 1068cfd899a759c506e3217e1e2c19cd7

[PATCH 15/19][GCC-8] aarch64: Configure for sys/auxv.h in libgcc for lse-init.c

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline     2019-09-25  Richard Henderson     PR target/91833     * config/aarch64/lse-init.c: Include auto-target.h.  Disable     initialization if !HAVE_SYS_AUXV_H.     * configure.ac (AC_CHECK_HEADERS): Add sys/auxv.h.     * config.in, configure:

[PATCH 19/19][GCC-8] re PR target/90724 (ICE with __sync_bool_compare_and_swap with -march=armv8.2-a+sve)

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline     2019-08-21  Prathamesh Kulkarni     PR target/90724     * config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): Force y     in reg if it fails aarch64_plus_operand predicate. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/

[PATCH 16/19][GCC-8] aarch64: Fix up aarch64_compare_and_swaphi pattern [PR94368]

2020-04-16 Thread Andre Vieira (lists)
2020-04-16  Andre Vieira     Backport from mainline     2020-03-31  Jakub Jelinek     PR target/94368     * config/aarch64/constraints.md (Uph): New constraint.     * config/aarch64/atomics.md (cas_short_expected_imm): New mode attr.     (aarch64_compare_and_swap): Use it instead of n in opera

[PATCH 18/19][GCC-8] aarch64: Fix ICE due to aarch64_gen_compare_reg_maybe_ze [PR94435]

2020-04-16 Thread Andre Vieira (lists)
The following testcase ICEs, because aarch64_gen_compare_reg_maybe_ze emits invalid RTL. For y_mode [QH]Imode it expects y to be of that mode (or CONST_INT that fits into that mode) and x being SImode; for non-CONST_INT y it zero extends y into SImode and compares that against x, for CONST_INT y i

[PATCH 17/19][GCC-8] aarch64: Fix bootstrap with old binutils [PR93053]

2020-04-16 Thread Andre Vieira (lists)
As reported in the PR, GCC 10 (and also 9.3.1 but not 9.3.0) fails to build when using older binutils which lack LSE support, because those instructions are used in libgcc. Thanks to Kyrylo's hint, the following patches (hopefully) allow it to build even with older binutils by using .inst directiv

Re: [PATCH] ipa: Make call redirection detect already adjusted calls (PR 93621)

2020-04-16 Thread Jan Hubicka
> > 2020-04-09 Martin Jambor > > PR ipa/93621 > * ipa-inline.h (ipa_saved_clone_sources): Declare. > * ipa-inline-transform.c (ipa_saved_clone_sources): New variable. > (save_inline_function_body): Link the new body holder with the > previous one. > * cgraph

Re: [PATCH] c++: Error recovery with errenous DECL_INITIAL [PR94475]

2020-04-16 Thread Patrick Palka via Gcc-patches
On Wed, 15 Apr 2020, Jason Merrill wrote: > On 4/15/20 4:43 PM, Patrick Palka wrote: > > Oops, consider the typo in the subject line fixed. Also ... > > > > On Wed, 15 Apr 2020, Patrick Palka wrote: > > > > > Here we're ICE'ing in do_narrow during error-recovery, because ocp_convert > > > retur

[PATCH] Do not modify tab options in vimrc for .py files.

2020-04-16 Thread Martin Liška
On 4/16/20 9:57 AM, Richard Biener wrote: Ah, tab vs. spaces. Changed to all spaces now and pushed. Ah, I've also hit the issue. That's caused by our local vimrc. We should exclude tab options for .py files. Ready for master? Thanks, Martin >From dc6daf004127f57a7317e492e4a61d3a9848a15b Mon S

[PATCH] rs6000: Fix ICE in decompose_normal_address, at rtlanal.c:6403

2020-04-16 Thread Peter Bergner via Gcc-patches
The ICE in PR93974 is caused by a bug in decompose address not being able to handle Altivec addresses the use AND: to strip off the bottom address bits. Rather than modify lra-constraints.c or rtlanal.c to solve this generic problem this late in the release cycle, I have decided to fix this in targ

[PATCH] Avoid illegal argument to verbose in dg-test callback

2020-04-16 Thread Matthias Kretz
From: Matthias Kretz If extra_tool_flags starts with a dash, an error like 'ERROR: verbose: illegal argument: -march=native -O2 -std=c++17' is printed. This is easily fixed by inserting a double dash before the variable. * testsuite/lib/libstdc++.exp: Avoid illegal argument to ve

Re: [PR C++ 94426] Lambda linkage

2020-04-16 Thread Nathan Sidwell
On 4/16/20 6:50 AM, Iain Sandoe wrote: Hi Nathan, Iain Sandoe wrote: Nathan Sidwell wrote: My fix for 94147 was confusing no-linkage with internal linkage, at the language level. That's wrong. (the std is confusing here, because it describes linkage of names (which is wrong), and lambda

[PATCH] coroutines: Backout mandate for tailcalls at O < 2 [PR94359]

2020-04-16 Thread Iain Sandoe
Hi For symmetric transfers to work with C++20 coroutines, it is currently necessary to tail call the callee coroutine from resume method of the caller coroutine. However there are several targets which don't support an indirect tail call to an arbitrary callee. Unfortunately, the target 'functio

Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics

2020-04-16 Thread Andre Vieira (lists)
On 16/04/2020 13:24, Andre Vieira (lists) wrote: Hi, This series backports all the patches and fixes regarding outline atomics to the gcc-8 branch. Bootstrapped the series for aarch64-linux-gnu and regression tested. Is this OK for gcc-8? Andre Vieira (19): aarch64: Add early clobber for aar

Re: [PATCH] Do not modify tab options in vimrc for .py files.

2020-04-16 Thread Alexander Monakov via Gcc-patches
On Thu, 16 Apr 2020, Martin Liška wrote: > On 4/16/20 9:57 AM, Richard Biener wrote: > > Ah, tab vs. spaces. Changed to all spaces now and pushed. > > Ah, I've also hit the issue. That's caused by our local vimrc. > We should exclude tab options for .py files. I think your patch is correct.

Re: [PATCH] Do not modify tab options in vimrc for .py files.

2020-04-16 Thread Martin Liška
On 4/16/20 4:00 PM, Alexander Monakov wrote: On Thu, 16 Apr 2020, Martin Liška wrote: On 4/16/20 9:57 AM, Richard Biener wrote: Ah, tab vs. spaces. Changed to all spaces now and pushed. Ah, I've also hit the issue. That's caused by our local vimrc. We should exclude tab options for .py fi

Re: [PATCH] coroutines: Backout mandate for tailcalls at O < 2 [PR94359]

2020-04-16 Thread Nathan Sidwell
On 4/16/20 9:51 AM, Iain Sandoe wrote: Hi For symmetric transfers to work with C++20 coroutines, it is currently necessary to tail call the callee coroutine from resume method of the caller coroutine. However there are several targets which don't support an indirect tail call to an arbitrary ca

Re: [PATCH] Do not modify tab options in vimrc for .py files.

2020-04-16 Thread Alexander Monakov via Gcc-patches
On Thu, 16 Apr 2020, Martin Liška wrote: > To be honest I have: > autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 > softtabstop=4 > > in my default vim config. > But I'm wondering what's default for 'python' Filetype? Since October 2013 Vim ftplugin/python.vim has: " As sugges

Re: [PATCH] ipa: Make call redirection detect already adjusted calls (PR 93621)

2020-04-16 Thread Martin Jambor
Hi, On Thu, Apr 16 2020, Jan Hubicka wrote: >> >> 2020-04-09 Martin Jambor >> >> PR ipa/93621 >> * ipa-inline.h (ipa_saved_clone_sources): Declare. >> * ipa-inline-transform.c (ipa_saved_clone_sources): New variable. >> (save_inline_function_body): Link the new body holder

[committed] aarch64: Fix mismatched SVE predicate modes [PR94606]

2020-04-16 Thread Richard Sandiford
For this testcase we ended up generating the invalid rtl: (insn 10 9 11 2 (set (reg:VNx16BI 105) (and:VNx16BI (xor:VNx16BI (reg:VNx8BI 103) (reg:VNx16BI 104)) (reg:VNx16BI 104))) "/tmp/bar.c":9:12 -1 (nil)) Fixed by taking the VNx16BI lowpart. It's safe t

Re: [PATCH] rs6000: Fix ICE in decompose_normal_address, at rtlanal.c:6403

2020-04-16 Thread will schmidt via Gcc-patches
On Thu, 2020-04-16 at 08:21 -0500, Peter Bergner via Gcc-patches wrote: > The ICE in PR93974 is caused by a bug in decompose address not being > able to > handle Altivec addresses the use AND: to strip off the bottom address > bits. > Rather than modify lra-constraints.c or rtlanal.c to solve this

Re: [PATCH], PR target/94557, V2, Fix GCC 9.x PowerPC regression due to PR target/93932 back port.

2020-04-16 Thread will schmidt via Gcc-patches
On Wed, 2020-04-15 at 21:37 -0400, Michael Meissner via Gcc-patches wrote: > Fix regression caused by PR target/93932 backport. > > When I back ported the fix for PR target/93932 to the GCC 9 branch, I put in > an > unintended regression when the GCC compiler is optimizing the vec_extract > built

arm: Fix regression in contant handling for -mpure-code for v8m

2020-04-16 Thread Christophe Lyon via Gcc-patches
Hi, In PR94538, Wilco mentioned that my patch to enable -mpure-code for v6m caused regressions in the code generated for cortex-m23. Specifically, for int f3 (void) { return 0x1100; } int f3_bis (void) { return 0x12345678; } we currently generate (-O2 -mcpu=cortex-m23 -mpure-code) mo

[PR94454] specialization hashtable inconsistencies

2020-04-16 Thread Nathan Sidwell
These patches address 3 separate things I discovered in working on pr94454. As mentioned in the bug, we have disagreement between hash value equality and key equality in the specialization table. Once Iain got a reproducible build on gcc110, I came up with pr94454-shim.diff. This (a) causes

Re: [PATCH] Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin.

2020-04-16 Thread Maciej W. Rozycki via Gcc-patches
On Thu, 16 Apr 2020, Martin Li?ka wrote: > The patch is fix for Cygwin where we should not define > HAVE_DOS_BASED_FILE_SYSTEM > and use back slashes as a path component separator. [...] > diff --git a/ltmain.sh b/ltmain.sh > index 79f9ba89af5..8ad183010f0 100644 > --- a/ltmain.sh > +++ b/ltmain.

Re: [PATCH], PR target/94557, V2, Fix GCC 9.x PowerPC regression due to PR target/93932 back port.

2020-04-16 Thread Segher Boessenkool
Hi! On Wed, Apr 15, 2020 at 09:37:32PM -0400, Michael Meissner wrote: > Fix regression caused by PR target/93932 backport. > > When I back ported the fix for PR target/93932 to the GCC 9 branch, I put in > an > unintended regression when the GCC compiler is optimizing the vec_extract > built-in

Re: [PATCH], PR target/94557, V2, Fix GCC 9.x PowerPC regression due to PR target/93932 back port.

2020-04-16 Thread Michael Meissner via Gcc-patches
On Thu, Apr 16, 2020 at 11:31:17AM -0500, Segher Boessenkool wrote: > Hi! > > On Wed, Apr 15, 2020 at 09:37:32PM -0400, Michael Meissner wrote: > > Fix regression caused by PR target/93932 backport. > > > > When I back ported the fix for PR target/93932 to the GCC 9 branch, I put > > in an > > u

Re: [PATCH] rs6000: Fix ICE in decompose_normal_address, at rtlanal.c:6403

2020-04-16 Thread Peter Bergner via Gcc-patches
On 4/16/20 8:21 AM, Peter Bergner wrote: > This passed bootstrap and regression testing on powerpc64le-linux with no > regressions. Ok for mainline? This also just passed bootstrap and regtesting on (BE) powerpc64-linux running the testsuite in both 32-bit and 64-bit modes, with no regressions.

Re: [PATCH 0/19][GCC-8] aarch64: Backport outline atomics

2020-04-16 Thread Pop, Sebastian via Gcc-patches
Thanks Andre for the back-port to gcc-8. Overall the patches look good to me. Could you please move the patch "[PATCH 13/19][GCC-8] Aarch64: Fix shrinkwrapping interactions with atomics (PR92692)" just after "[PATCH 8/19][GCC-8] aarch64: Implement TImode compare-and-swap" such that the change th

Re: [RFC] split pseudos during loop unrolling in RTL unroller

2020-04-16 Thread Segher Boessenkool
On Thu, Apr 16, 2020 at 10:33:45AM +0200, Richard Biener wrote: > On Wed, Apr 15, 2020 at 11:23 PM Segher Boessenkool > > On a general note, we shouldn't depend on some pass that may or may not > > clean up the mess we make, when we could just avoid making a mess in the > > first place. > > True -

Re: [patch, fortran] Fix PR PR93500

2020-04-16 Thread Fritz Reese via Gcc-patches
On Thu, Apr 16, 2020 at 7:53 AM Thomas Koenig via Fortran wrote: > > Hello world, > > this patch fixes PR PR93500. One part of it is due to > what Steve wrote in the patch (returning from resolutions when both > operands are NULL), but that still left a nonsensical error. > Returning &gfc_bad_exp

[PATCH] c++: Non-type-dependent variadic lambda init-capture [PR94483]

2020-04-16 Thread Patrick Palka via Gcc-patches
In this PR (which I think is misclassified as ice-on-invalid instead of ice-on-valid), we're ICEing on a use of an 'int... a' template parameter pack as part of the variadic lambda init-capture [...z=a]. The unexpected thing about this variadic init-capture is that it is not type-dependent, and so

Re: [PATCH], PR target/94557, V2, Fix GCC 9.x PowerPC regression due to PR target/93932 back port.

2020-04-16 Thread Segher Boessenkool
On Thu, Apr 16, 2020 at 12:45:46PM -0400, Michael Meissner wrote: > > > + /* Mask the element to make sure the element number is between 0 > > > and the > > > + maximum number of elements - 1 so that we don't generate an address > > > + outside the vector. */ > > > > Hrm, so why do you ne

Re: [PATCH] rs6000: Fix ICE in decompose_normal_address, at rtlanal.c:6403

2020-04-16 Thread Segher Boessenkool
Hi! On Thu, Apr 16, 2020 at 08:21:07AM -0500, Peter Bergner wrote: > The ICE in PR93974 is caused by a bug in decompose address not being able to > handle Altivec addresses the use AND: to strip off the bottom address bits. > Rather than modify lra-constraints.c or rtlanal.c to solve this generic

Re: [PATCH] middle-end/94614 - avoid multiword moves to nothing

2020-04-16 Thread Jeff Law via Gcc-patches
On Thu, 2020-04-16 at 10:05 +0200, Richard Biener wrote: > This adjusts emit_move_multi_word to handle moves into paradoxical > subregs parts that are not there and resolve_clobber to handle > such subregs. > > Bootstrap & regtest running on x86_64-unknown-linux-gnu. > > The testcase involves wri

[PATCH] wwwdocs: document my changes for gcc 10

2020-04-16 Thread David Malcolm via Gcc-patches
Validates. The wording could probably use some work. OK to push to the website repo? --- htdocs/gcc-10/changes.html | 37 +++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html index 65e2fb3d..

[PATCH] c++: Hard error with tentative parse of declaration [PR88754]

2020-04-16 Thread Patrick Palka via Gcc-patches
In the testcase for this PR, we try to parse the statement A(value<0>()); first tentatively as a declaration (with a parenthesized declarator), and during this tentative parse we end up issuing a hard error from cp_parser_check_template_parameters about its invalidness as a declaration. Rather

Re: [PATCH v2] rs6000: Don't use HARD_FRAME_POINTER_REGNUM if it's not live in pro_and_epilogue (PR91518)

2020-04-16 Thread Segher Boessenkool
Hi! On Mon, Apr 13, 2020 at 10:11:43AM +0800, luoxhu wrote: > frame_pointer_needed is set to true in reload pass setup_can_eliminate, > but regs_ever_live[31] is false, pro_and_epilogue uses it without live > check causing CPU2006 465.tonto segment fault of loading from invalid > addresses due to

Re: [PATCH] Fold (add -1; zero_ext; add +1) operations to zero_ext when not zero (PR37451, PR61837)

2020-04-16 Thread Segher Boessenkool
On Wed, Apr 15, 2020 at 10:18:16AM +0100, Richard Sandiford wrote: > luoxhu--- via Gcc-patches writes: > > -count = simplify_gen_binary (PLUS, mode, count, const1_rtx); > > +{ > > + /* Fold (add -1; zero_ext; add +1) operations to zero_ext based on > > addop0 > > +is never zero,

Re: [PATCH] rs6000: Fix ICE in decompose_normal_address, at rtlanal.c:6403

2020-04-16 Thread Peter Bergner via Gcc-patches
On 4/16/20 5:21 PM, Segher Boessenkool wrote: >> +#undef TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV_P >> +#define TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV_P >> rs6000_cannot_substitute_mem_equiv_p > > This line gets too long, you could split it in two? Done. >> +/* { dg-do compile { target { powerpc*-*-lin

Re: [PATCH v2] rs6000: Don't use HARD_FRAME_POINTER_REGNUM if it's not live in pro_and_epilogue (PR91518)

2020-04-16 Thread luoxhu via Gcc-patches
On 2020/4/17 08:52, Segher Boessenkool wrote: > Hi! > > On Mon, Apr 13, 2020 at 10:11:43AM +0800, luoxhu wrote: >> frame_pointer_needed is set to true in reload pass setup_can_eliminate, >> but regs_ever_live[31] is false, pro_and_epilogue uses it without live >> check causing CPU2006 465.tonto

Re: [PATCH] RS6000: Use .machine ppc for some CRT files

2020-04-16 Thread Sebastian Huber
Hello Segher, would you mind having a look at this patch.

Re: [PATCH] reject scalar array initialization with nullptr [PR94510]

2020-04-16 Thread Jason Merrill via Gcc-patches
On 4/15/20 1:30 PM, Martin Sebor wrote: On 4/13/20 8:43 PM, Jason Merrill wrote: On 4/12/20 5:49 PM, Martin Sebor wrote: On 4/10/20 8:52 AM, Jason Merrill wrote: On 4/9/20 4:23 PM, Martin Sebor wrote: On 4/9/20 1:32 PM, Jason Merrill wrote: On 4/9/20 3:24 PM, Martin Sebor wrote: On 4/9/20 1

Re: [RFC] split pseudos during loop unrolling in RTL unroller

2020-04-16 Thread Richard Biener via Gcc-patches
On Thu, Apr 16, 2020 at 7:46 PM Segher Boessenkool wrote: > > On Thu, Apr 16, 2020 at 10:33:45AM +0200, Richard Biener wrote: > > On Wed, Apr 15, 2020 at 11:23 PM Segher Boessenkool > > > On a general note, we shouldn't depend on some pass that may or may not > > > clean up the mess we make, when

Re: [PATCH] Do not modify tab options in vimrc for .py files.

2020-04-16 Thread Martin Liška
On 4/16/20 4:16 PM, Alexander Monakov wrote: On Thu, 16 Apr 2020, Martin Liška wrote: To be honest I have: autocmd Filetype python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 in my default vim config. But I'm wondering what's default for 'python' Filetype? Since October 2013 Vim