https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79002
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=115201
Target Milestone|--- |9.0
Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot
gnu.org
Status|NEW |RESOLVED
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> Of course the question is why writing (i) makes i addressable in the first
> place... (which is why I left this categorized as C++ FE issue)
So the front-end issue was fixed in GCC 9 by r9-1417-ge4511ca2e9ecdb (Looks
like Jason didn't post the patch to the list because I can't find it).
The eh issue I posted a patch to move cleanup_eh right before tail_recusion:
https://gcc.gnu.org/pipermail/gcc-patches/2025-August/693108.html
(In reply to Richard Biener from comment #5)
> Looking at
>
> NEXT_PASS (pass_cd_dce);
> NEXT_PASS (pass_early_ipa_sra);
> NEXT_PASS (pass_tail_recursion);
> NEXT_PASS (pass_convert_switch);
> NEXT_PASS (pass_cleanup_eh);
> NEXT_PASS (pass_profile);
> NEXT_PASS (pass_local_pure_const);
> /* Split functions creates parts that are not run through
> early optimizations again. It is thus good idea to do this
> late. */
> NEXT_PASS (pass_split_functions);
> POP_INSERT_PASSES ()
>
> I think neither switch-conversion nor tail-recursion should enable extra
> EH cleanup opportunities so moving cleanup_eh before tail-recursion might
> work.
I posted my patch without seeing this so at least Richard B. agreed with some
of what I mentioned in my patch.