[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