This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/67260] [sh] Register spill bug for sibcall+complex+softfloat
- From: "olegendo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 07 Feb 2016 13:01:06 +0000
- Subject: [Bug target/67260] [sh] Register spill bug for sibcall+complex+softfloat
- Auto-submitted: auto-generated
- References: <bug-67260-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67260
--- Comment #13 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Alexander Monakov from comment #12)
>
> 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).
Good question indeed. Kaz, maybe you remember anything?