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.

Reply via email to