[Bug tree-optimization/120331] match causes an extra assignment sometimes

2025-05-18 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120331 --- Comment #7 from Andrew Pinski --- Patch posted: https://gcc.gnu.org/pipermail/gcc-patches/2025-May/683999.html There was no regressions with this version of the patch and the issue I found was solved too.

[Bug tree-optimization/120331] match causes an extra assignment sometimes

2025-05-17 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120331 Andrew Pinski changed: What|Removed |Added Attachment #61460|0 |1 is obsolete|

[Bug tree-optimization/120331] match causes an extra assignment sometimes

2025-05-17 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120331 --- Comment #5 from Andrew Pinski --- (In reply to Andrew Pinski from comment #4) > Created attachment 61460 [details] > Patch which I am testing It has one regression though: gcc.dg/builtins-61.c . That is due to this pattern: /* cexp(x+yi)

[Bug tree-optimization/120331] match causes an extra assignment sometimes

2025-05-17 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120331 --- Comment #4 from Andrew Pinski --- Created attachment 61460 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61460&action=edit Patch which I am testing

[Bug tree-optimization/120331] match causes an extra assignment sometimes

2025-05-17 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120331 --- Comment #3 from Andrew Pinski --- I think I have a patch to do this. It undoes the push but only if there is one statement in the sequence. Though we could extend it later on.

[Bug tree-optimization/120331] match causes an extra assignment sometimes

2025-05-17 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120331 Andrew Pinski changed: What|Removed |Added Summary|useless NON_LVALUE not |match causes an extra