[llvm-commits] [PATCH] Add support for functions with VLAs and dynamic stack realignment on x86
Chad Rosier
mcrosier at apple.com
Wed May 30 15:13:25 PDT 2012
On May 30, 2012, at 3:02 PM, Anton Korobeynikov wrote:
> Hi Chad,
>
>> The ABI specifies a default alignment of 16-bytes, which has been enough in general. However, AVX code commonly requires 32-byte alignment, so as we move forward with AVX support this fix will become more critical. We currently generate miscompiled code in these rare cases (without warning). The attached solution is the same as that used for the ARM backend. Specifically, an additional
> Thanks for working on this! Few comments:
>
> 1. Make sure stuff works on x86-32 + PIC
Thanks for the suggestion, will do.
> 2. What's about unwinding and debug info? Can debugger see the values
> wrt base register? Is ebx restored when exception is raised and stack
> is unwound?
Unfortunately, the answer to all of these questions is no. I was trying to tackle this in an incremental approach so that the patches are digestible and easily reviewed. I don't think addressing those issues are necessary for the first patch as we're no worse off, but certainly it's something to think about in the _very_ near future.
Chad
>
> --
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University
More information about the llvm-commits
mailing list