http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49220
--- Comment #3 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2012-11-06 04:35:14 UTC --- (In reply to comment #2) > (In reply to comment #1) > > I think that create_pre_exit is used by SH target only. > > The Epiphany target defines MODE_ENTRY and MODE_EXIT, which makes it use > create_pre_exit, too. > Jörn, do you have any objections to the change in comment #1? It would be nice if we could indeed verify that the function returns without a value. I'm not sure that there's much left of the sanity check with all these exceptions. That being said, the Epiphany has very different reload issues. I.e. addition (as for some address calculations) and logical operations (as are necessary to perform a mode switch) clobber the flags. Which, in general, cannot be guaranteed to be free, so we might have to save the flags... Bu there is no conflict of the return value registers with the registers needed to effect the mode switch. Or pretty much anything else. So, I don't think you could see the equivalent of PR16482 on Epiphany. We need mode switches at the function end, but if it happens before or after the return value copy is mostly a distinction without a difference. The scheduler might even want to interleave these operations.