[LLVMdev] Recently failing vector tests

Dale Johannesen dalej at apple.com
Mon Jun 30 09:56:43 PDT 2008


On Jun 30, 2008, at 9:25 AMPDT, Duncan Sands wrote:

> Hi Dale, yes it's just stack alignment.  Unfortunately
> your patch doesn't make any difference.
>
> Thanks for thinking about this,
>
> Duncan.

OK, the test is not quite right then.  This doesn't happen on Darwin  
so I'm
afraid you'll have to debug it.  Perhaps testing for
        (RegInfo->needsStackRealignment(Fn) &&
         FFI->getObjectIndexEnd()!=0)
?

> 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