[cfe-commits] r134946 - in /cfe/trunk: lib/CodeGen/TargetInfo.cpp test/CodeGen/x86_64-arguments.c

Bill Wendling wendling at apple.com
Tue Jul 12 14:22:39 PDT 2011


On Jul 12, 2011, at 2:21 PM, Eli Friedman wrote:

> On Tue, Jul 12, 2011 at 2:13 PM, Bill Wendling <wendling at apple.com> wrote:
>> On Jul 11, 2011, at 5:37 PM, Eli Friedman wrote:
>> 
>>> On Mon, Jul 11, 2011 at 5:30 PM, Bruno Cardoso Lopes
>>> <bruno.cardoso at gmail.com> wrote:
>>>> Author: bruno
>>>> Date: Mon Jul 11 19:30:27 2011
>>>> New Revision: 134946
>>>> 
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=134946&view=rev
>>>> Log:
>>>> Fix one x86_64 abi issue and the test to actually look for the right thing,
>>>> which is: { <4 x float>, <4 x float> } should continue to go through memory.
>>>> 
>>>> Modified:
>>>>    cfe/trunk/lib/CodeGen/TargetInfo.cpp
>>>>    cfe/trunk/test/CodeGen/x86_64-arguments.c
>>>> 
>>>> Modified: cfe/trunk/lib/CodeGen/TargetInfo.cpp
>>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/TargetInfo.cpp?rev=134946&r1=134945&r2=134946&view=diff
>>>> ==============================================================================
>>>> --- cfe/trunk/lib/CodeGen/TargetInfo.cpp (original)
>>>> +++ cfe/trunk/lib/CodeGen/TargetInfo.cpp Mon Jul 11 19:30:27 2011
>>>> @@ -1228,6 +1228,13 @@
>>>> 
>>>>     const RecordDecl *RD = RT->getDecl();
>>>> 
>>>> +    // The only case a 256-bit wide vector could be used is when the struct
>>>> +    // contains a single 256-bit element. Since Lo and Hi logic isn't extended
>>>> +    // to work for sizes wider than 128, early check and fallback to memory.
>>>> +    RecordDecl::field_iterator FirstElt = RD->field_begin();
>>>> +    if (Size > 128 && getContext().getTypeSize(FirstElt->getType()) != 256)
>>>> +      return;
>>> 
>>> What if FirstElt is a struct/array/etc?
>>> 
>> This change is causing clang to fail to compile itself. I'm coming up with a testcase.
> 
> Bruno already has one, but thanks for offering. :)
> 
Thanks. In the meantime, could you revert this? I'm not able to compile with this bug in it...

-bw





More information about the cfe-commits mailing list