[LLVMdev] Recently failing vector tests

Dale Johannesen dalej at apple.com
Fri Jun 27 10:51:00 PDT 2008


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.




More information about the llvm-dev mailing list