This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PING] 3 patches waiting for approval/review


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]