Re: [PATCH] slsr: Use simple_dce_from_worklist in SLSR [PR116554]

2024-08-31 Thread Richard Biener
> Am 01.09.2024 um 06:07 schrieb Andrew Pinski : > > While working on a phiopt patch, it was noticed that > SLSR would leave around some unused ssa names. Let's > add simple_dce_from_worklist usage to SLSR to remove > the dead statements. This should give a small improvemnent > for passes afte

Re: [PATCH] ltmain.sh: allow more flags at link-time

2024-08-31 Thread Sam James
Sam James writes: > libtool defaults to filtering flags passed at link-time. > > This brings the filtering in GCC's 'fork' of libtool into sync with > upstream libtool commit 22a7e547e9857fc94fe5bc7c921d9a4b49c09f8e. > > In particular, this now allows some harmless diagnostic flags (especially >

[gimplify.cc] Avoid ICE when passing VLA vector to accelerator

2024-08-31 Thread Prathamesh Kulkarni
Hi, For the following test: #include int main() {   svint32_t x;   #pragma omp target map(x)     x;   return 0; } compiling with -fopenmp -foffload=nvptx-none results in following ICE: t_sve.c: In function 'main': t_sve.c:6:11: internal compiler error: Segmentation fault     6 |   #pragma omp t

[PATCH] slsr: Use simple_dce_from_worklist in SLSR [PR116554]

2024-08-31 Thread Andrew Pinski
While working on a phiopt patch, it was noticed that SLSR would leave around some unused ssa names. Let's add simple_dce_from_worklist usage to SLSR to remove the dead statements. This should give a small improvemnent for passes afterwards. Boostrapped and tested on x86_64. gcc/ChangeLog:

Re: [PATCH v3 04/12] OpenMP: C front end support for metadirectives

2024-08-31 Thread Sandra Loosemore
On 8/16/24 04:30, Jakub Jelinek wrote: On Sat, Jul 20, 2024 at 02:42:23PM -0600, Sandra Loosemore wrote: --- a/gcc/c/c-parser.cc +++ b/gcc/c/c-parser.cc @@ -263,9 +263,24 @@ struct GTY(()) c_parser { otherwise NULL. */ vec *in_omp_attribute_pragma; + /* When in_omp_attribute_prag

Re: [PATCH] testsuite: Prune compilation messages for modules tests

2024-08-31 Thread Mike Stump
On Aug 18, 2024, at 3:28 PM, Hans-Peter Nilsson wrote: > > As noticed when verifying the dejagnu fix. Tested cris-elf > with a new newlib that arranges to emit the mentioned > warning, with/without the update in dejagnu to handle the > miniscule "in". Ok to commit? Ok.

Re: [PATCH v2] [testsuite] add linkonly to dg-additional-sources [PR115295]

2024-08-31 Thread Mike Stump
On Jun 11, 2024, at 10:56 PM, Alexandre Oliva wrote: > > On Jun 11, 2024, Andrew Pinski wrote: > >> I think we should just fully revert the changes to >> dg-additional-sources and add an explicit `dg-do run` to pr95401.cc > > I don't suppose an explicit "dg-do run" would make things work relia

Re: [PATCH] testsuite: Rename scanltranstree.exp -> scanltrans.exp

2024-08-31 Thread Mike Stump
On Aug 29, 2024, at 9:07 AM, Alex Coplan wrote: > > Since r15-3254-g3f51f0dc88ec21c1ec79df694200f10ef85915f4 > added scan-ltrans-rtl* variants to scanltranstree.exp, it no longer > makes sense to have "tree" in the name. This renames the file > accordingly and updates users. > > Tested on aarch

[PUSEHED] libobjc: Add cast to void* to disable warning for casting between incompatible function types [PR89586]

2024-08-31 Thread Andrew Pinski
Even though __objc_get_forward_imp returns an IMP type, it will be casted to a compatable function type before calling it. So we adding a cast to `void*` will disable warning about the incompatible type. Pushed after bootstrap/test on x86_64. libobjc/ChangeLog: PR libobjc/89586

Re: [x86_64 PATCH] Support read-modify-write memory operands in STV.

2024-08-31 Thread Uros Bizjak
On Sat, Aug 31, 2024 at 3:28 PM Roger Sayle wrote: > > > Hi Uros, > > As requested this patch is split out from my previous submission. > https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659450.html > This patch enables STV when the first operand of a TImode binary > logic operand (AND, IOR o

Re: [patch,avr] Run pass avr-fuse-add a second time

2024-08-31 Thread Denis Chertykov
пт, 30 авг. 2024 г. в 16:09, Georg-Johann Lay : > > There are cases, where opportunities to use POST_INC addressing > only occur very late in the compilation process. Take for example > the following function from AVR-LibC's qsort: > > void swapfunc (char *a, char *b, int n) > { > do > {

[Patch, rs6000, middle-end] v9: Add implementation for different targets for pair mem fusion

2024-08-31 Thread Ajit Agarwal
Hello Richard: This patch addressed all review comments in version 8 of the patch. Common infrastructure using generic code for pair mem fusion of different targets. rs6000 target specific code implement virtual functions defined by generic code. Target specific code are added in rs6000-mem-fu

[PATCH] c++, coroutines: Revise promise construction/destruction.

2024-08-31 Thread Iain Sandoe
tested on x86_64-darwin/linux powerpc64le-linux, OK for trunk? alternate suggestions? thanks, Iain --- 8< --- In examining the coroutine testcases for unexpected diagnostic output for 'Wall', I found a 'statement has no effect' warning for the promise construction in one case. In particular, the

[pushed] testsuite, c++, coroutines: Avoid 'unused' warnings [NFC].

2024-08-31 Thread Iain Sandoe
tested on x86_64-darwin/linux powerpc64le-linux, pushed to trunk, thanks Iain --- 8< --- The 'torture' section of the coroutine tests is primarily about checking correct operation of the generated code. It should, ideally, be possible to run this part of the testsuite with '-Wall' and expect no

[pushed] testsuite, c++, coroutines: Correct a test intent.

2024-08-31 Thread Iain Sandoe
tested on x86_64-darwin/linux powerpc64le-linux, pushed to trunk, thanks Iain --- 8< --- The intention of the series of tests numberef pr95615-* is to verify that entities created by the ramp and potentially needing destruction are correctly handled when exceptions are thrown. Because of a typo,

[committed] hppa: Enable PA 2.0 symbolic operands on ELF32 targets

2024-08-31 Thread John David Anglin
Tested on hppa-unknown-linux-gnu and hppa64-hp-hpux11.11. Committed to trunk. Dave --- hppa: Enable PA 2.0 symbolic operands on ELF32 targets The GNU ELF32 linker has been fixed and it can now handle PA 2.0 symbolic relocations. This only affects non-pic code generation. 2024-08-31 John David

[PATCH v12 4/4] c: Add __nelementsof__ operator

2024-08-31 Thread Alejandro Colomar
This operator is similar to sizeof but can only be applied to an array, and returns its number of elements. FUTURE DIRECTIONS: - We should make it work with array parameters to functions, and somehow magically return the number of elements of the array, regardless of it being really a poin

[PATCH v12 3/4] Merge definitions of array_type_nelts_top()

2024-08-31 Thread Alejandro Colomar
There were two identical definitions, and none of them are available where they are needed for implementing __nelementsof__. Merge them, and provide the single definition in gcc/tree.{h,cc}, where it's available for __nelementsof__, which will be added in the following commit. gcc/ChangeLog:

[PATCH v12 2/4] gcc/: Rename array_type_nelts() => array_type_nelts_minus_one()

2024-08-31 Thread Alejandro Colomar
The old name was misleading. While at it, also rename some temporary variables that are used with this function, for consistency. Link: gcc/ChangeLog: *

[PATCH v12 1/4] contrib/: Add support for Cc: and Link: tags

2024-08-31 Thread Alejandro Colomar
contrib/ChangeLog: * gcc-changelog/git_commit.py (GitCommit): Add support for 'Cc: ' and 'Link: ' tags. Cc: Jason Merrill Signed-off-by: Alejandro Colomar --- contrib/gcc-changelog/git_commit.py | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/gcc

[PATCH v12 0/4] c: Add __nelementsof__ operator

2024-08-31 Thread Alejandro Colomar
Hi! v12 changes: - Fix typo in changelog entry. For ISO C2y, I'm proposing either nelementsof() or a contracted version of that name. However, since in GCC we want an uglified name that already takes four characters for the __*__, I think this long name makes sense. See also:

Re: [PATCH] Fortran: downgrade use associated namelist group name to, legacy extension

2024-08-31 Thread Harald Anlauf
On 8/30/24 21:36, Steve Kargl wrote: Harald, I'm fine with the patch. You may want to wait to see if anyone has a rasonable objection. Since you and Thomas agreed, pushed as r15-3332-g79b5b50402454d . Thanks, Harald

[x86_64 PATCH] Support read-modify-write memory operands in STV.

2024-08-31 Thread Roger Sayle
Hi Uros, As requested this patch is split out from my previous submission. https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659450.html This patch enables STV when the first operand of a TImode binary logic operand (AND, IOR or XOR) is a memory operand, which is commonly the case with read-m

[PATCH 2/2] load and store-lanes with SLP

2024-08-31 Thread Richard Biener
The following is a prototype for how to represent load/store-lanes within SLP. I've for now settled with having a single load node with multiple permute nodes acting as selection, one for each loaded lane and a single store node fed from all stored lanes. For for (int i = 0; i < 1024; ++i)

[PATCH 1/2] lower SLP load permutation to interleaving

2024-08-31 Thread Richard Biener
The following emulates classical interleaving for SLP load permutes that we are unlikely handling natively. This is to handle cases where interleaving (or load/store-lanes) is the optimal choice for vectorizing even when we are doing that within SLP. An example would be void foo (int * __restric

[patch,avr,applied] Remove superfluous spaces

2024-08-31 Thread Georg-Johann Lay
The avr backend is using the convention to not print a space after the comma that separates asm operands. Applied as obvious. Johann AVR: Don't print a space after , when printing instructions. gcc/ * config/avr/avr.cc: Follow the convention to not add a space

Re: [PATCH 2/2] phiopt: Ignore some nop statements in heursics [PR116098]

2024-08-31 Thread Richard Biener
> Am 31.08.2024 um 02:27 schrieb Andrew Pinski : > > The heurstics that was added for PR71016, try to search to see > if the conversion was being moved away from its definition. The problem > is the heurstics would stop if there was a non GIMPLE_ASSIGN (and already > ignores > debug statement