[PATCH] D24378: [CodeGen] Provide an appropriate alignment for dynamic allocas
    Reid Kleckner via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Fri Sep  9 11:18:16 PDT 2016
    
    
  
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
    
    
More information about the cfe-commits
mailing list