On 10/10/13 04:00, Andreas Krebbel wrote:
On 09/10/13 21:46, Jeff Law wrote:
On 08/21/13 03:21, Andreas Krebbel wrote:
[RFC] Allow functions calling mcount before prologue to be leaf functions
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html
I don't think this is necessarily correct for all targets. ISTM the
ability to consider a function calling mcount as a leaf needs to be a
property of the target.
We have already "profile_before_prologue" as a target property. Shouldn't this
be enough to decide
upon this? When a function calls mcount before the prologue it shouldn't matter
whether the function
is leaf or not.
I don't think so, I think it'd break the PA's 32 bit ABI, maybe the 64
bit ABI as well. It's the caller's responsibility to build a mini stack
frame if the function makes any calls. If the code in the prologue
expander uses "leafness" to make the decision about whether or not to
allocate the mini frame, then it'd do the wrong thing here.
I'm just using that as an example, there may be others. Hence my
recommendation this become a target hook with the default off so that
ports can be appropriately audited.
Jeff