rnk added a comment.

In https://reviews.llvm.org/D24378#538430, @efriedma wrote:

> This is probably going to lead to someone complaining about clang realigning 
> the stack on 32-bit Windows; are your sure we're choosing the right alignment 
> there?


I checked, and MSVC emits a call to __alloca_probe_16 for this code:

  extern "C" void *_alloca(size_t);
  #pragma intrinsic (_alloca)
  void g(void*);
  void f(int n) {
    void *p = _alloca(n);
    g(p);
  }

So, they do realign the stack. We don't really need to realign the whole stack 
frame for highly aligned dynamic allocas, though. There's no reason we can't 
overallocate from the stack and realign the returned pointer. I'm not sure if 
we do that, though...


https://reviews.llvm.org/D24378



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to