search for: isstaticalloca

Displaying 4 results from an estimated 4 matches for "isstaticalloca".

2012 Mar 02
0
[LLVMdev] Stack alignment on X86 AVX seems incorrect
Hi Elena, On Thu, Mar 1, 2012 at 8:28 PM, Demikhovsky, Elena <elena.demikhovsky at intel.com> wrote: > Even if you explicitly specify –stack-alignment=16 the aligned movs are > still generated. > > It is not an issue related to ABI. This looks like PR10841, explanation and the way to solve it: http://llvm.org/bugs/show_bug.cgi?id=10841 Cheers, -- Bruno Cardoso Lopes
2012 Mar 02
2
[LLVMdev] Stack alignment on X86 AVX seems incorrect
...ill generated. > > > > It is not an issue related to ABI. > > This looks like PR10841, explanation and the way to solve it: > http://llvm.org/bugs/show_bug.cgi?id=10841 I was looking at this again today. What about the following approach: (1) Change AllocaInst to compute the isStaticAlloca once and remember it. (2) Check all functions for (a) static allocations with an alignment larger than the default stack alignemnt (b) dynamic alloca (3) If (a) is present and not (b), use the frame pointer to address arguments and the stack pointer to address local variables....
2012 Mar 01
3
[LLVMdev] Stack alignment on X86 AVX seems incorrect
Even if you explicitly specify –stack-alignment=16 the aligned movs are still generated. It is not an issue related to ABI. See my original mail: ./llc -mattr=+avx -stack-alignment=16 < basic.ll | grep movaps | grep ymm | grep rbp vmovaps -176(%rbp), %ymm14 vmovaps -144(%rbp), %ymm11 vmovaps -240(%rbp), %ymm13 - Elena From: Cameron McInally
2014 Nov 03
8
[LLVMdev] [PATCH] Protection against stack-based memory corruption errors using SafeStack
...ack restore points + for (inst_iterator It = inst_begin(&F), Ie = inst_end(&F); It != Ie; ++It) { + Instruction *I = &*It; + + if (AllocaInst *AI = dyn_cast<AllocaInst>(I)) { + ++NumAllocas; + + if (IsSafeStackAlloca(AI, DL)) + continue; + + if (AI->isStaticAlloca()) { + ++NumUnsafeStaticAllocas; + StaticAlloca.push_back(AI); + } else { + ++NumUnsafeDynamicAllocas; + DynamicAlloca.push_back(AI); + } + + } else if (ReturnInst *RI = dyn_cast<ReturnInst>(I)) { + Returns.push_back(RI); + + } else if (CallIns...