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

--- Comment #12 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
> Do you have anything in particular in mind?

I mostly wonder why does sh.md change RTL representation of a sibcall that way,
instead of simply generating the required relative address load upfront, during
RTL expand. This way, RTL better matches final instruction stream, register
allocation should be more natural, and the load of the relative address is
subject to all RTL optimizations (so if you call a function in a loop, you can
load the relative address once, out of the loop).

Reply via email to