https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
Christoph Müllner changed:
What|Removed |Added
CC||cmuellner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
--- Comment #10 from GCC Commits ---
The master branch has been updated by Philipp Tomsich :
https://gcc.gnu.org/g:08b8341f209be7c7e301853bdbbcad4f8e1695f5
commit r15-3862-g08b8341f209be7c7e301853bdbbcad4f8e1695f5
Author: Konstantinos Elefther
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
--- Comment #9 from Manolis Tsamis ---
Created attachment 55856
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55856&action=edit
Address calculation pattern v1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
--- Comment #8 from philipp.tomsich at vrull dot eu ---
On Mon, 4 Sept 2023 at 13:38, manolis.tsamis at vrull dot eu <
gcc-bugzi...@gcc.gnu.org> wrote:
> My current match.pd pattern to do that is below; any feedback or
> improvements
> are welco
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
--- Comment #7 from Manolis Tsamis ---
After some attempts to improve on this, my current solution is:
1) Do not change pointer_int_sum in c-common (otherwise codegen regressions
are observed)
2) Introduce a pattern that folds (unsigned type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
--- Comment #6 from manolis.tsamis at vrull dot eu ---
(In reply to Richard Biener from comment #5)
> (In reply to manolis.tsamis from comment #4)
> > Given the original transform it should be valid to propagate the constant
> > addition through
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
--- Comment #5 from Richard Biener ---
(In reply to manolis.tsamis from comment #4)
> Given the original transform it should be valid to propagate the constant
> addition through the cast?
Yes. Note doing so loses information, we know i + 1 do
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
--- Comment #4 from manolis.tsamis at vrull dot eu ---
(In reply to Richard Biener from comment #3)
> It's probably a mismatch of GENERIC/GIMPLE folding. In this case it's
> pointer_int_sum prematurely distributing the multiplication:
>
> /* Re
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109393
Richard Biener changed:
What|Removed |Added
Component|tree-optimization |c
Status|UNCONFIRMED