[Bug target/78255] [5/6/7 regression] Indirect sibling call causing wrong code generation for ARM

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri Dec 2 17:13:00 GMT 2016


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

--- Comment #11 from Jeffrey A. Law <law at redhat dot com> ---
IIRC the (proprietary) linker didn't generate argument shuffling stubs for
indirect calls.  So we ran into problems if any pass changed a direct into an
indirect call.  The only pass that did this back in the early 90s was CSE :-)

If an indirect call were changed to a direct call, we could have an argument
location mis-match, but the linker would step in and generate a little stub to
shuffle them into the expected locations.  Thus we never bothered trying to fix
combine.


More information about the Gcc-bugs mailing list