[llvm] r247450 - Use function attribute "stackrealign" to decide whether stack

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 11 15:08:38 PDT 2015


I recall some users from nvidia or Intel did something like arranging to
call a function using AVX with 32-byte stack alignment, and using
-mno-stackrealign to suppress the funky prologue. They would probably be
better served with an ABI stack alignment override, so maybe that use case
is not worth considering.

On Fri, Sep 11, 2015 at 2:31 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:

> I was thinking "no-stack-realign" should be a cl::opt debug option, not a
> function attribute.
>
> Is there a use case that requires the end-user to disallow stack
> realignment even when it's necessary to do so to be functionally correct
> (for example, there is a local variable with a large alignment)?
>
> On Fri, Sep 11, 2015 at 12:57 PM, Reid Kleckner via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> On Fri, Sep 11, 2015 at 12:40 PM, Joerg Sonnenberger via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>> On Fri, Sep 11, 2015 at 06:54:39PM -0000, Akira Hatanaka via
>>> llvm-commits wrote:
>>> > URL: http://llvm.org/viewvc/llvm-project?rev=247450&view=rev
>>> > Log:
>>> > Use function attribute "stackrealign" to decide whether stack
>>> > realignment should be forced.
>>>
>>> Can you please actually call it force_stackrealign or
>>> always_realign_stack to avoid confusion?
>>>
>>
>> The X86 backend looks for a "no-stack-realign" attribute. Perhaps we
>> should have a string attribute "stackrealign" with three values, "always",
>> "auto", and "never". The default behavior is "auto".
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150911/9a469805/attachment.html>


More information about the llvm-commits mailing list