[LLVMdev] RFC Patchset: Segmented stacks

Rafael Ávila de Espíndola rafael.espindola at gmail.com
Thu Apr 21 12:42:27 PDT 2011


On 11-04-19 2:24 PM, Sanjoy Das wrote:
> Hi all!
>
> Attached a three part series which implements the very first bits of my
> GSoC proposal (full proposal is here http://pastebin.com/e9JMZNCE), for
> some preliminary review.

Nice!

Just some quick comments:

In the Interoperability section it looks like you want to implement 
something that is compatible with gcc. This is a great thing to have, 
but it might be possible to implement something that is not linker 
dependent if you wish to.

Instead of having split stacks be a per compilation unit thing, it can 
be a characteristic of each function (using a new calling convention for 
example). The compiler option then becomes "mark all functions in this 
compilation unit as split stacks").

A function that calls functions without this mark will get a large stack 
block in the prologue. When doing LTO regular functions can be optimized 
to split stacks.

This might also be handy for handling "hard" (vargs, dynamic stack 
allocation) functions: just don't mark them.

Again, just some toughs. Looks great as is too!

Cheers,
Rafael



More information about the llvm-dev mailing list