Re: [PATCH v2 05/11] aarch64: Use UNSPEC_SBCS for subtract-with-borrow + output flags

2020-04-09 Thread Richard Henderson
On 4/9/20 2:52 PM, Segher Boessenkool wrote: > Hi! > > On Thu, Apr 02, 2020 at 11:53:47AM -0700, Richard Henderson wrote: >> The rtl description of signed/unsigned overflow from subtract >> was fine, as far as it goes -- we have CC_Cmode and CC_Vmode >> that indicate that only those particular

[PATCH v4 11/12] aarch64: Accept 0 as first argument to compares

2020-04-09 Thread Richard Henderson via Gcc-patches
While cmp (extended register) and cmp (immediate) uses , cmp (shifted register) uses . So we can perform cmp xzr, x0. For ccmp, we only have as an input. * config/aarch64/aarch64.md (cmp): For operand 0, use aarch64_reg_or_zero. Shuffle reg/reg to last alternative and

[PATCH v4 12/12] aarch64: Implement TImode comparisons

2020-04-09 Thread Richard Henderson via Gcc-patches
* config/aarch64/aarch64-modes.def (CC_NV): New. * config/aarch64/aarch64.c (aarch64_gen_compare_reg): Expand all of the comparisons for TImode, not just NE. (aarch64_select_cc_mode): Recognize cmp_carryin. (aarch64_get_condition_code_1): Handle CC_NVmode.

[PATCH v4 07/12] aarch64: Rename CC_ADCmode to CC_NOTCmode

2020-04-09 Thread Richard Henderson via Gcc-patches
We are about to use !C in more contexts than add-with-carry. Choose a more generic name. * config/aarch64/aarch64-modes.def (CC_NOTC): Rename CC_ADC. * config/aarch64/aarch64.c (aarch64_select_cc_mode): Update. (aarch64_get_condition_code_1): Likewise. *

[PATCH v4 10/12] aarch64: Adjust result of aarch64_gen_compare_reg

2020-04-09 Thread Richard Henderson via Gcc-patches
Return the entire comparison expression, not just the cc_reg. This will allow the routine to adjust the comparison code as needed for TImode comparisons. Note that some users were passing e.g. EQ to aarch64_gen_compare_reg and then using gen_rtx_NE. Pass the proper code in the first place.

[PATCH v4 01/12] aarch64: Provide expander for sub3_compare1

2020-04-09 Thread Richard Henderson via Gcc-patches
In one place we open-code a special case of this pattern into the more specific sub3_compare1_imm, and miss this special case in other places. Centralize that special case into an expander. * config/aarch64/aarch64.md (*sub3_compare1): Rename from sub3_compare1.

[PATCH v4 09/12] aarch64: Use CC_NOTCmode for double-word subtract

2020-04-09 Thread Richard Henderson via Gcc-patches
We have been using CCmode, which is not correct for this case. Mirror the same code from the arm target. * config/aarch64/aarch64.c (aarch64_select_cc_mode): Recognize usub*_carryinC patterns. * config/aarch64/aarch64.md (usubvti4): Use CC_NOTC. (usub3_carryinC):

[PATCH v4 06/12] aarch64: Introduce aarch64_expand_addsubti

2020-04-09 Thread Richard Henderson via Gcc-patches
Modify aarch64_expand_subvti into a form that handles all addition and subtraction, modulo, signed or unsigned overflow. Use expand_insn to put the operands into the proper form, and do not force values into register if not required. * config/aarch64/aarch64.c (aarch64_ti_split) New.

[PATCH v4 08/12] arm: Merge CC_ADC and CC_B to CC_NOTC

2020-04-09 Thread Richard Henderson via Gcc-patches
These CC_MODEs are identical, merge them into a more generic name. * config/arm/arm-modes.def (CC_NOTC): New. (CC_ADC, CC_B): Remove. * config/arm/arm.c (arm_select_cc_mode): Update to match. (arm_gen_dicompare_reg): Likewise.

[PATCH v4 05/12] aarch64: Improvements to aarch64_select_cc_mode from arm

2020-04-09 Thread Richard Henderson via Gcc-patches
The arm target has some improvements over aarch64 for double-word arithmetic and comparisons. * config/aarch64/aarch64.c (aarch64_select_cc_mode): Check for swapped operands to CC_Cmode; check for zero_extend to CC_ADCmode; check for swapped operands to CC_Vmode. ---

[PATCH v4 03/12] aarch64: Add cset, csetm, cinc patterns for carry/borrow

2020-04-09 Thread Richard Henderson via Gcc-patches
Some implementations have a higher cost for the csel insn (and its specializations) than they do for adc/sbc. * config/aarch64/aarch64.md (*cstore_carry): New. (*cstoresi_carry_uxtw): New. (*cstore_borrow): New. (*cstoresi_borrow_uxtw): New.

[PATCH v4 04/12] aarch64: Add const_dword_umaxp1

2020-04-09 Thread Richard Henderson via Gcc-patches
Rather than duplicating the rather verbose integral test, pull it out to a predicate. * config/aarch64/predicates.md (const_dword_umaxp1): New. * config/aarch64/aarch64.c (aarch64_select_cc_mode): Use it. * config/aarch64/aarch64.md (add*add3_carryinC): Likewise.

[PATCH v4 00/12] aarch64: Implement TImode comparisons

2020-04-09 Thread Richard Henderson via Gcc-patches
This is attacking case 3 of PR 94174. In v4, I attempt to bring over as many patterns from config/arm as are applicable. It's not too far away from what I had from v2. In the process of checking all of the combinations (below), I discovered that we could probably have a better represenation for

[PATCH v4 02/12] aarch64: Match add3_carryin expander and insn

2020-04-09 Thread Richard Henderson via Gcc-patches
The expander and insn predicates do not match, which can lead to insn recognition errors. * config/aarch64/aarch64.md (add3_carryin): Use register_operand instead of aarch64_reg_or_zero. --- gcc/config/aarch64/aarch64.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)

libgo patch committed: Update to final 1.14.2 release

2020-04-09 Thread Ian Lance Taylor via Gcc-patches
This patch updates libgo to the final 1.14.2 release. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian d79a22eddc694970316992927c669dd801e07557 diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index b3cc9ecb9d1..138425a19d2 100644 ---

Go patch committed: Look up composite literal keys in global namespace

2020-04-09 Thread Ian Lance Taylor via Gcc-patches
In the Go frontend, a composite literal key may not have a global definition, so Gogo::define_global_names may not see it. In order to correctly handle the case in which a predeclared identifier is used as a composite literal key, do an explicit check of the global namespace. The test case is

Re: [PATCH v2 05/11] aarch64: Use UNSPEC_SBCS for subtract-with-borrow + output flags

2020-04-09 Thread Segher Boessenkool
Hi! On Thu, Apr 02, 2020 at 11:53:47AM -0700, Richard Henderson wrote: > The rtl description of signed/unsigned overflow from subtract > was fine, as far as it goes -- we have CC_Cmode and CC_Vmode > that indicate that only those particular bits are valid. > > However, it's not clear how to

[pushed] c++: constexpr static data member instantiation [PR94523]

2020-04-09 Thread Jason Merrill via Gcc-patches
Here due to my recent change to store_init_value we were expanding the initializer of aw knowing that we were initializing aw. When cxx_eval_call_expression finished the constructor, it wanted to look up the value of aw to set TREE_READONLY on it, but we haven't set DECL_INITIAL yet, so

[committed] libstdc++: Implement LWG 3324 for [cmp.alg] function objects (LWG 3324)

2020-04-09 Thread Jonathan Wakely via Gcc-patches
LWG 3324 changed the [cmp.alg] types to use std::compare_three_way instead of the <=> operator, but we were still using the old specification. In order to make the existing tests pass the N::X type needs to be equality comparable, so that three_way_comparable is satisfied and compare_three_way can

introduce target tmpnam and require it in tests relying on it

2020-04-09 Thread Alexandre Oliva
Some target C libraries that aren't recognized as freestanding don't have filesystem support, so calling tmpnam, fopen/open and remove/unlink fails to link. This patch introduces a tmpnam effective target to the testsuite, and requires it in the tests that call tmpnam. Tested on

Re: [PATCH] c++: make __is_constructible work with paren-init of aggrs [PR94149]

2020-04-09 Thread Jonathan Wakely via Gcc-patches
On 09/04/20 17:00 -0400, Marek Polacek wrote: In C++20 this is well-formed: using T = int[2]; T t(1, 2); which means that std::is_constructible_v should be true. But constructible_expr immediately returned the error_mark_node when it saw a list with more than one element. To give accurate

[PATCH] c++: make __is_constructible work with paren-init of aggrs [PR94149]

2020-04-09 Thread Marek Polacek via Gcc-patches
In C++20 this is well-formed: using T = int[2]; T t(1, 2); which means that std::is_constructible_v should be true. But constructible_expr immediately returned the error_mark_node when it saw a list with more than one element. To give accurate results in C++20, we have to try initializing

Re: [PATCH, Fortran] -- PR fortran/87923 -- fix ICE when resolving I/O tags and simplify io.c

2020-04-09 Thread Fritz Reese via Gcc-patches
Tobias, Thanks very much for the review. On Thu, Apr 9, 2020 at 5:21 AM Tobias Burnus wrote: > > Hi, > > On 4/6/20 7:25 PM, Fritz Reese via Fortran wrote: > > > The attached patch fixes PR 87923 while also simplifying the code in > > io.c. > > Thanks for the work, which looks great; it is a bit

Re: [PATCH] cselib, var-tracking: Improve debug info after the cselib sp tracking changes [PR94495]

2020-04-09 Thread Christophe Lyon via Gcc-patches
Hi Jakub, On Thu, 9 Apr 2020 at 17:06, Richard Biener wrote: > > On Thu, 9 Apr 2020, Alexandre Oliva wrote: > > > On Apr 9, 2020, Jakub Jelinek wrote: > > > > > 2020-04-09 Jakub Jelinek > > > > > PR debug/94495 > > > * cselib.h (cselib_record_sp_cfa_base_equiv, > > >

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

2020-04-09 Thread Martin Sebor via Gcc-patches
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:03 PM, Jason Merrill wrote: On 4/8/20 1:23 PM, Martin Sebor wrote: On 4/7/20 3:36 PM, Marek Polacek wrote: On Tue, Apr 07, 2020 at 02:46:52PM -0600, Martin Sebor wrote: On 4/7/20 1:50 PM, Marek

[committed] libstdc++: Add comparison operators to std::unique_ptr

2020-04-09 Thread Jonathan Wakely via Gcc-patches
Some more C++20 changes from P1614R2, "The Mothership has Landed". This includes the proposed resolution for LWG 3426 to fix the three-way comparison with nullptr_t. The existing tests for unique_ptr comparisons don't actually check the results, only that the expressions compile and are

[COMMITTED] MSP430: Indiciate that the epilogue_helper insn does not fallthru

2020-04-09 Thread Jozef Lawrynowicz
The attached patch fixes an ICE in rtl_verify_fallthru, at cfgrtl.c:2970 gcc.c-torture/execute/20071210-1.c for -mcpu=msp430 at -O2 and above. The epilogue_helper insn was treated as a regular insn which will fallthru, so when a barrier is emitted after it, RTL verification failed as

Re: [PATCH] c++: Stray RESULT_DECLs in result of constexpr function call [PR94034]

2020-04-09 Thread Patrick Palka via Gcc-patches
On Thu, 9 Apr 2020, Jason Merrill wrote: > On 4/8/20 7:49 PM, Patrick Palka wrote: > > When evaluating the initializer of 'a' in the following example > > > >struct A { A *p = this; }; > >constexpr A foo() { return {}; } > >constexpr A a = foo(); > > > > the PLACEHOLDER_EXPR for

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

2020-04-09 Thread Jason Merrill via Gcc-patches
On 4/9/20 3:24 PM, Martin Sebor wrote: On 4/9/20 1:03 PM, Jason Merrill wrote: On 4/8/20 1:23 PM, Martin Sebor wrote: On 4/7/20 3:36 PM, Marek Polacek wrote: On Tue, Apr 07, 2020 at 02:46:52PM -0600, Martin Sebor wrote: On 4/7/20 1:50 PM, Marek Polacek wrote: On Tue, Apr 07, 2020 at

Re: [PATCH] c++: Stray RESULT_DECLs in result of constexpr function call [PR94034]

2020-04-09 Thread Jason Merrill via Gcc-patches
On 4/8/20 7:49 PM, Patrick Palka wrote: When evaluating the initializer of 'a' in the following example struct A { A *p = this; }; constexpr A foo() { return {}; } constexpr A a = foo(); the PLACEHOLDER_EXPR for 'this' in the aggregate initializer returned by foo gets resolved to the

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

2020-04-09 Thread Martin Sebor via Gcc-patches
On 4/9/20 1:03 PM, Jason Merrill wrote: On 4/8/20 1:23 PM, Martin Sebor wrote: On 4/7/20 3:36 PM, Marek Polacek wrote: On Tue, Apr 07, 2020 at 02:46:52PM -0600, Martin Sebor wrote: On 4/7/20 1:50 PM, Marek Polacek wrote: On Tue, Apr 07, 2020 at 12:50:48PM -0600, Martin Sebor via Gcc-patches

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

2020-04-09 Thread Jason Merrill via Gcc-patches
On 4/8/20 1:23 PM, Martin Sebor wrote: On 4/7/20 3:36 PM, Marek Polacek wrote: On Tue, Apr 07, 2020 at 02:46:52PM -0600, Martin Sebor wrote: On 4/7/20 1:50 PM, Marek Polacek wrote: On Tue, Apr 07, 2020 at 12:50:48PM -0600, Martin Sebor via Gcc-patches wrote: Among the numerous regressions

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

2020-04-09 Thread Martin Jambor
Hi, PR 93621 testcase makes redirect_call_stmt_to_callee wrongly assume that a call statement needs redirecting but then rightly fails an assert ensuring the call statement parameters have not already been adjusted because they were already created adjusted as part of thunk expansion. The test

[PATCH] ipa-sra: Fix treatment of internal functions (PR 94434)

2020-04-09 Thread Martin Jambor
Hi, On Tue, Apr 07 2020, bule wrote: > Hi, > > The patch is tested and works fine. It is more appropriate to handle > the context by considering it as a section of assemble code. > > A minor question is that I think svst functions are for store >operations. Why pass ISRA_CTX_LOAD to

Re: [Patch] HSA: omp-grid.c – access proper clause code (was: Re: [Patch] omp-grid.c – add cast to silence different enumeration types warning)

2020-04-09 Thread Martin Jambor
Hi, On Mon, Apr 06 2020, Jakub Jelinek wrote: > On Fri, Apr 03, 2020 at 12:43:42PM +0200, Tobias Burnus wrote: >> HSA: omp-grid.c – access proper clause code >> >> * omp-grid.c (grid_eliminate_combined_simd_part): Use >> OMP_CLAUSE_CODE to access the omp clause code. >> >> diff --git

Re: [PATCH] Allow new/delete operator deletion only for replaceable.

2020-04-09 Thread Jason Merrill via Gcc-patches
On 4/9/20 1:05 AM, Martin Liška wrote: Hi. We've got one another sneaky test-case (thank you Marc ;) ): $ cat pr94314-array.C #include #include int count = 0; __attribute__((malloc, noinline)) void* operator new[](unsigned long sz) {   ++count;   return ::operator new(sz); } void

[committed, wwwdocs] aarch64: Document SVE changes

2020-04-09 Thread Richard Sandiford
As per $SUBJECT This seemed to flow more naturally if we organised things as: - improvements to existing features - new options - new extensions - new CPUs The patch also fixes up some missing tags flagged by xmllint. Pushed. --- htdocs/gcc-10/changes.html | 100

Re: [PATCH], PowerPC, Backport PR 93932 (variable vec_extract) to GCC 9

2020-04-09 Thread Segher Boessenkool
Hi! On Thu, Apr 09, 2020 at 10:11:48AM -0500, will schmidt wrote: > This patch matches almost identically with what went into > Mainline. Exception to identical are two parts; > 1 - A constraint change "v"/"wk" that exists in 9 versus > mainline, (ok) > 2 - The testcase changes, which are

[committed] aarch64: Add a separate "SVE sizeless type" attribute

2020-04-09 Thread Richard Sandiford
It's more convenient for a later patch if sizelessness is represented separately from "SVEness". "SVEness" is an ABI property that carries forward into gimple and beyond, and continues to matter during LTO. Sizelessness is just a frontend restriction and can be ignored after that. Tested on

[committed] libphobos: Remove --enable-druntime-gc configure option.

2020-04-09 Thread Iain Buclaw via Gcc-patches
Hi, This is yet another old option that would have been somewhat useful back before the D front-end implementation was able to support compiling without the Druntime library. Now however, -fno-druntime makes the gcstub package redundant, so the option has been removed, along with the package

Re: [PATCH], PowerPC, Backport PR 93932 (variable vec_extract) to GCC 9

2020-04-09 Thread will schmidt via Gcc-patches
On Thu, 2020-04-09 at 05:16 -0400, Michael Meissner via Gcc-patches wrote: > Backport PR target/93932 (variable vec_extract) to GCC 9 > > This patch backports the fix for PR target/93932 from the current > master branch > to GCC 9. The patch for the master branch had to be adjusted due to >

Re: [PATCH] cselib, var-tracking: Improve debug info after the cselib sp tracking changes [PR94495]

2020-04-09 Thread Richard Biener
On Thu, 9 Apr 2020, Alexandre Oliva wrote: > On Apr 9, 2020, Jakub Jelinek wrote: > > > 2020-04-09 Jakub Jelinek > > > PR debug/94495 > > * cselib.h (cselib_record_sp_cfa_base_equiv, > > cselib_sp_derived_value_p): Declare. > > * cselib.c (cselib_record_sp_cfa_base_equiv, >

Re: [PATCH] cselib, var-tracking: Improve debug info after the cselib sp tracking changes [PR94495]

2020-04-09 Thread Alexandre Oliva
On Apr 9, 2020, Jakub Jelinek wrote: > 2020-04-09 Jakub Jelinek > PR debug/94495 > * cselib.h (cselib_record_sp_cfa_base_equiv, > cselib_sp_derived_value_p): Declare. > * cselib.c (cselib_record_sp_cfa_base_equiv, > cselib_sp_derived_value_p): New functions. >

RE: [Arm] Allow the use of arm_cde.h for C++

2020-04-09 Thread Kyrylo Tkachov
> -Original Message- > From: Matthew Malcomson > Sent: 09 April 2020 15:31 > To: gcc-patches@gcc.gnu.org > Cc: nd ; Ramana Radhakrishnan > ; Kyrylo Tkachov > ; Richard Earnshaw > ; ni...@redhat.com > Subject: [Arm] Allow the use of arm_cde.h for C++ > > arm_cde.h includes the

Re: [PING][PATCH][wwwdocs] GCC 10: Document RISC-V target's requirement for binutils 2.30

2020-04-09 Thread Jeff Law via Gcc-patches
On Thu, 2020-04-09 at 15:36 +0100, Maciej W. Rozycki wrote: > On Thu, 9 Apr 2020, Jeff Law wrote: > > > > > Match GCC commit bfe78b08471f ("RISC-V: Using fmv.x.w/fmv.w.x rather > > > > than fmv.x.s/fmv.s.x") and commit 879bc686a0aa ("doc: RISC-V: Update > > > > binutils requirement to 2.30"). >

Re: [PING][PATCH][wwwdocs] GCC 10: Document RISC-V target's requirement for binutils 2.30

2020-04-09 Thread Maciej W. Rozycki via Gcc-patches
On Thu, 9 Apr 2020, Jeff Law wrote: > > > Match GCC commit bfe78b08471f ("RISC-V: Using fmv.x.w/fmv.w.x rather > > > than fmv.x.s/fmv.s.x") and commit 879bc686a0aa ("doc: RISC-V: Update > > > binutils requirement to 2.30"). > > > > Ping for: > > > >

[Arm] Allow the use of arm_cde.h for C++

2020-04-09 Thread Matthew Malcomson
arm_cde.h includes the arm_mve_types.h header, which declares some C++ overloaded functions. There is a superfluous `extern "C"` statement in arm_cde.h, which encompasses these functions. This means that if compiling for C++, the overloaded functions are declared, but are declared without name

[PATCH] cselib, var-tracking: Improve debug info after the cselib sp tracking changes [PR94495]

2020-04-09 Thread Jakub Jelinek via Gcc-patches
Hi! On the https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94495#c5 testcase GCC emits worse debug info after the PR92264 cselib.c changes. The difference at -O2 -g -dA in the assembly is (when ignoring debug info): # DEBUG g => [argp] # DEBUG k => [argp+0x20] # DEBUG j =>

[PATCH] aarch64, libgcc: Fix unwinding from pac-ret to normal frames [PR94514]

2020-04-09 Thread Szabolcs Nagy
With -mbranch-protection=pac-ret the debug info toggles the signedness state of the return address so the unwinder knows when the return address needs pointer authentication. The unwind context flags were not updated according to the dwarf frame info. This causes unwinding across frames that

[PATCH] aarch64: Fix .cfi_window_save with pac-ret [PR94515]

2020-04-09 Thread Szabolcs Nagy
On aarch64 -mbranch-protection=pac-ret reuses the dwarf opcode for window_save to mean "toggle the return address mangle state", but in the dwarf2cfi internal logic the state was not properly recorded so the remember/restore logic was broken. This can cause the unwinder not to authenticate return

Re: [committed] libphobos: Add --enable-libphobos-checking configure option (PR94305)

2020-04-09 Thread Iain Buclaw via Gcc-patches
On 09/04/2020 12:02, Matthias Klose wrote: > On 4/9/20 12:47 AM, Iain Buclaw via Gcc-patches wrote: >> Hi, >> >> As GDCFLAGS is overriden by the top-level make file with '-O2 -g', >> libphobos ends up always being built with all contracts, invariants, and >> asserts compiled in. This adds a new

Re: [PING][PATCH][wwwdocs] GCC 10: Document RISC-V target's requirement for binutils 2.30

2020-04-09 Thread Jeff Law via Gcc-patches
On Thu, 2020-04-09 at 14:42 +0100, Maciej W. Rozycki via Gcc-patches wrote: > On Thu, 2 Apr 2020, Maciej W. Rozycki wrote: > > > Match GCC commit bfe78b08471f ("RISC-V: Using fmv.x.w/fmv.w.x rather > > than fmv.x.s/fmv.s.x") and commit 879bc686a0aa ("doc: RISC-V: Update > > binutils requirement

Re: [PATCH] aarch64: Add TX3 machine model

2020-04-09 Thread Anton Youdkevitch
Andrew, On 09.4.2020 00:50 , Andrew Pinski wrote: On Wed, Apr 8, 2020 at 11:06 AM Anton Youdkevitch wrote: Here is the patch introducing thunderxt311 maching model for the scheduler. A name for the new chip was added to the list of the names to be recognized as a valid parameter for mcpu and

[PING][PATCH][wwwdocs] GCC 10: Document RISC-V target's requirement for binutils 2.30

2020-04-09 Thread Maciej W. Rozycki via Gcc-patches
On Thu, 2 Apr 2020, Maciej W. Rozycki wrote: > Match GCC commit bfe78b08471f ("RISC-V: Using fmv.x.w/fmv.w.x rather > than fmv.x.s/fmv.s.x") and commit 879bc686a0aa ("doc: RISC-V: Update > binutils requirement to 2.30"). Ping for:

Make it possible to have different instrumented and feedback builds without copying gcda files around [pr93401]

2020-04-09 Thread Jan Hubicka
Hi, in GCC 8 we changed -fprofile-generate= to use mangled absolute paths in the directory. This was necessary to avoid clashes of files when gcc is executed from different directories to build different sources of same filename. However this made it difficult to build projects on setups where

Avoid g++.dg/lto/alias-4_0.C test failure on ARM [PR91322]

2020-04-09 Thread Jan Hubicka
Hi, this patch avoid failure of alias-4_0.C testcase. The testcase is testing that ODR TBAA works but structure used conflicts with builtin va_arg type on ARM which disables TBAA for it. Better fix would be to make va_arg types with mangled names in lto1 frontend but that require some extra work,

[PATCH] testsuite/93369 - use -shared to avoid issue with ODR violation

2020-04-09 Thread Richard Biener
The testcase contains an ODR violation and thus the observed link failure is an accepted outcome (it originally was for an ICE during WPA). Thus the following adds -shared to the link. Pushed. 2020-04-09 Richard Biener PR testsuite/93369 * g++.dg/lto/pr64076_0.C: Add

[wwwdocs] Move arm section under aarch64

2020-04-09 Thread Kyrylo Tkachov
Hi all, We logically grouped the aarch64 and arm entries as they share some content but then the alphabetic order came in and put amdgcn and arc between the two. I'm taking the liberty of moving arm under aarch64 and adding a small clarification that the recently added CDE intrinsics implement a

Re: [testsuite][arm] Fix cmse-15.c expected output

2020-04-09 Thread Richard Sandiford
Christophe Lyon writes: > On Wed, 8 Apr 2020 at 11:48, Richard Sandiford > wrote: >> >> Christophe Lyon via Gcc-patches writes: >> > Hi, >> > >> > While checking Martin's fix for PR ipa/94445, he made me realize that >> > the cmse-15.c testcase still fails at -Os because ICF means that we >> >

Re: [committed] libphobos: Add --enable-libphobos-checking configure option (PR94305)

2020-04-09 Thread Matthias Klose
On 4/9/20 12:47 AM, Iain Buclaw via Gcc-patches wrote: > Hi, > > As GDCFLAGS is overriden by the top-level make file with '-O2 -g', > libphobos ends up always being built with all contracts, invariants, and > asserts compiled in. This adds a new configurable that defaults to omit > compiling any

Re: [PATCH v3] Fix alignment for local variable [PR90811]

2020-04-09 Thread Kito Cheng
Hi Richard: > Please skip vars with DECL_USER_ALIGN. I was consider to skip DECL_USER_ALIGN, but Jakub think it shouldn't skip in other patch review[1] (related to this patch), because it's minimum alignment not restricted alignment[2] [1]

Re: [PATCH, Fortran] -- PR fortran/87923 -- fix ICE when resolving I/O tags and simplify io.c

2020-04-09 Thread Tobias Burnus
Hi, On 4/6/20 7:25 PM, Fritz Reese via Fortran wrote: The attached patch fixes PR 87923 while also simplifying the code in io.c. Thanks for the work, which looks great; it is a bit lengthy but mostly moving code or mechanical (%C → %L). It also has an impressive amount of new test cases! I

[PATCH], PowerPC, Backport PR 93932 (variable vec_extract) to GCC 9

2020-04-09 Thread Michael Meissner via Gcc-patches
Backport PR target/93932 (variable vec_extract) to GCC 9 This patch backports the fix for PR target/93932 from the current master branch to GCC 9. The patch for the master branch had to be adjusted due to using different constraints (GCC 10 uses the enabled attribute to eliminate alternatives,

[committed] PR target/94530 (was [PATCH] PR target/48240)

2020-04-09 Thread Andrea Corallo
Hi all, Second version of the patch for PR94530 (pr num fixed) addressing comments. Bootstrapped on aarch64-unknown-linux-gnu. Committed. Andrea gcc/ChangeLog 2020-04-09 Andrea Corallo PR target/pr94530 * config/aarch64/falkor-tag-collision-avoidance.c

Re: [PATCH] Allow new/delete operator deletion only for replaceable.

2020-04-09 Thread Jonathan Wakely via Gcc-patches
On Thu, 9 Apr 2020 at 09:05, Marc Glisse wrote: > Note that the matching is not 1-to-1. Array vs non-array and > aligned vs non-aligned seem important, but sized and unsized delete can > both match the same new, IIUC. Right. > Not sure about the nothrow versions... This is valid, and mixes the

Re: [PATCH] Allow new/delete operator deletion only for replaceable.

2020-04-09 Thread Marc Glisse
On Thu, 9 Apr 2020, Richard Biener wrote: On Thu, Apr 9, 2020 at 7:06 AM Martin Liška wrote: Hi. We've got one another sneaky test-case (thank you Marc ;) ): $ cat pr94314-array.C #include #include int count = 0; __attribute__((malloc, noinline)) void* operator new[](unsigned long sz)

Re: [PATCH] Allow new/delete operator deletion only for replaceable.

2020-04-09 Thread Jakub Jelinek via Gcc-patches
On Thu, Apr 09, 2020 at 08:59:59AM +0200, Martin Liška wrote: > What do you mean by 'decl flags'. We can't compare ASM names as one is ctor > and the second one is dtor. It's about argument types that much match, right? You can't disginguish the [] vs. non-[] from arguments, plus there are some

Re: [PATCH] PR target/48240

2020-04-09 Thread Andrea Corallo
Kyrylo Tkachov writes: > diff --git a/gcc/config/aarch64/falkor-tag-collision-avoidance.c > b/gcc/config/aarch64/falkor-tag-collision-avoidance.c > index 719df484ee61..4e07a43282f7 100644 > --- a/gcc/config/aarch64/falkor-tag-collision-avoidance.c > +++

Re: [PATCH v3] Fix alignment for local variable [PR90811]

2020-04-09 Thread Richard Biener via Gcc-patches
On Wed, Apr 8, 2020 at 7:13 PM Kito Cheng wrote: > > ping > > On Tue, Mar 31, 2020 at 4:33 PM Kito Cheng wrote: > > > > - The alignment for local variable was adjust during > > estimate_stack_frame_size, > >however it seems wrong spot to adjust that, expand phase will adjust that > >

Re: [PATCH] PR target/48240

2020-04-09 Thread Andrea Corallo
Richard Sandiford writes: > Andrea Corallo writes: >> Hi all, >> >> I'd like to submit this for PR48240. >> >> Bootstrapped on aarch64-unknown-linux-gnu. >> Okay for trunk when finished with regression? > > OK, but the PR number looks like a typo. Also: Ooops, no idea how did I managed to

Re: [PATCH] Allow new/delete operator deletion only for replaceable.

2020-04-09 Thread Richard Biener via Gcc-patches
On Thu, Apr 9, 2020 at 9:00 AM Martin Liška wrote: > > On 4/9/20 8:45 AM, Richard Biener wrote: > > On Thu, Apr 9, 2020 at 7:06 AM Martin Liška wrote: > >> > >> Hi. > >> > >> We've got one another sneaky test-case (thank you Marc ;) ): > >> > >> $ cat pr94314-array.C > >> #include > >> #include

Re: [PATCH] Allow new/delete operator deletion only for replaceable.

2020-04-09 Thread Martin Liška
On 4/9/20 8:45 AM, Richard Biener wrote: On Thu, Apr 9, 2020 at 7:06 AM Martin Liška wrote: Hi. We've got one another sneaky test-case (thank you Marc ;) ): $ cat pr94314-array.C #include #include int count = 0; __attribute__((malloc, noinline)) void* operator new[](unsigned long sz) {

Re: [PATCH] Allow new/delete operator deletion only for replaceable.

2020-04-09 Thread Richard Biener via Gcc-patches
On Thu, Apr 9, 2020 at 7:06 AM Martin Liška wrote: > > Hi. > > We've got one another sneaky test-case (thank you Marc ;) ): > > $ cat pr94314-array.C > #include > #include > > int count = 0; > > __attribute__((malloc, noinline)) void* operator new[](unsigned long sz) { >++count; >return

Re: [PATCH PR93674]Avoid introducing IV of enumeral type in case of -fstrict-enums

2020-04-09 Thread Richard Biener via Gcc-patches
On Thu, Apr 9, 2020 at 4:23 AM bin.cheng wrote: > > -- > Sender:Richard Biener > Sent At:2020 Mar. 20 (Fri.) 18:12 > Recipient:bin.cheng > Cc:Andrew Pinski ; GCC Patches > Subject:Re: [PATCH PR93674]Avoid introducing IV of