<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 22, 2013 at 2:14 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank" class="cremed">rnk@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I wanted to mention that I'm planning to start writing and sending out patches for this.<div><br></div>
<div>Naming the attribute 'alloca' was really confusing, so I'd like to change it to 'inalloca', which follows the preposition pattern of inreg and byval.</div>

<div><br></div><div>After discussion, we decided it was silly to add stackbase uses to alloca instructions.  They should stay simple.</div><div><br></div><div>Instead, we'll clarify that it is illegal for an optimization to raise an alloca used as an inalloca argument across a stacksave, and fix any transforms that do this.  In particular, I'll look at the inliner, which is the most likely to move allocas.</div>


<div><br></div><div>Furthermore, any call that uses an inalloca argument must have an associated stackrestore field, regardless of whether it's callee cleanup (thiscall) or caller cleanup (cdecl).  The backend will be responsible for restoring the stack pointer on both return and exception edges.</div>
</div></blockquote></div><br>I just wanted to give an explicit thumbs up on the mailing list on these issues.</div></div>