[LLVMdev] Recently failing vector tests

Duncan Sands baldrick at free.fr
Mon Jun 30 09:25:07 PDT 2008


Hi Dale, yes it's just stack alignment.  Unfortunately
your patch doesn't make any difference.

Thanks for thinking about this,

Duncan.

On Friday 27 June 2008 19:51:00 Dale Johannesen wrote:
> On Jun 27, 2008, at 3:11 AMPDT, Duncan Sands wrote:
> > FAIL: test/CodeGen/X86/vec_shuffle-10.ll
> > Failed with exit(1) at line 3
> > while running: llvm-as < test/CodeGen/X86/vec_shuffle-10.ll | llc - 
> > march=x86 -mattr=+sse2 |  not grep {sub.*esp}
> >        subl    $16, %esp
> >        subl    $16, %esp
> > child process exited abnormally
> 
> Is the code actually loading and storing to the stack, or just  
> allocating space?
> If the latter it is probably this patch:
> http://llvm.org/viewvc/llvm-project?view=rev&revision=52750
> 
> Rounding up the stack size does not have to be done if there are no  
> stack
> objects, so that would be the preferred way to fix this.  See if this  
> works for you.
> It will be something close to this.
> 
> Index: CodeGen/PrologEpilogInserter.cpp
> ===================================================================
> --- CodeGen/PrologEpilogInserter.cpp	(revision 52829)
> +++ CodeGen/PrologEpilogInserter.cpp	(working copy)
> @@ -464,7 +464,8 @@
>     // works.
>     if (!RegInfo->targetHandlesStackFrameRounding() &&
>         (FFI->hasCalls() || FFI->hasVarSizedObjects() ||
> -       RegInfo->needsStackRealignment(Fn))) {
> +       (RegInfo->needsStackRealignment(Fn) &&
> +        Offset > std::abs(TFI.getOffsetOfLocalArea())))) {
>       // If we have reserved argument space for call sites in the  
> function
>       // immediately on entry to the current function, count it as  
> part of the
>       // overall stack size.
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 





More information about the llvm-dev mailing list