https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117068

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I can't think of a good way of solving this really. Having a specific pass
after register allocation might work but I am not 100% sure if it will work
always.

The other way of solving this is having special "variables"/"registers" where
you can't take their addresses but only load/store to. And then translate them
to the reg+offset after register allocator. This seems more reasonible way of
fixing this. Plus it hides it from the RA and other passes which might do CSE
or otherwise stuff for registers+offset.

Reply via email to