[PATCH] Add a "no-split-stack" function attribute.

Joerg Sonnenberger joerg at britannica.bec.de
Tue Oct 15 14:05:50 PDT 2013


On Mon, Oct 14, 2013 at 11:40:02PM -0700, Luqman Aden wrote:
> Also, gcc supports a no_split_stack attribute in its split stack implementation.

Because GCC does something is not necessarily a good justification.
Let me extend my original comment. An attribute that says "ensure
stack space" is much more useful for two reasons:

(1) It is a safe contract. The called function will not just fail
because the caller used all but a few bytes on the stack.

(2) It can be used for optimisation. A call graph pass could propogate
size requirements along the edges of the graph to avoid the overhead
and associated issues with split stack.

Joerg



More information about the llvm-commits mailing list