[cfe-commits] r105824 - in /cfe/trunk: lib/AST/ExprConstant.cpp test/CodeGen/altivec.c

John McCall rjmccall at apple.com
Fri Jun 11 18:38:31 PDT 2010


On Jun 11, 2010, at 2:52 PM, Eli Friedman wrote:

> On Fri, Jun 11, 2010 at 10:54 AM, John McCall <rjmccall at apple.com> wrote:
>> Author: rjmccall
>> Date: Fri Jun 11 12:54:15 2010
>> New Revision: 105824
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=105824&view=rev
>> Log:
>> Fix the constant evaluator for AltiVec-style vector literals so that the
>> vector is filled with the given constant;  we were just initializing the
>> first element.
> 
> Are you sure this patch is correct for non-AltiVec cases?

Yes, but for terrible reasons:  all other InitListExprs seem to get normalized to
match the number of elements by padding with implicit zero expressions.

Applying a similar normalization to the altivec literal code would seem to be the
sensible solution, but unfortunately it's not sound because OpenCL lifts the AltiVec
restriction that element initializers be constant.  I should have a better patch
soon.

John.



More information about the cfe-commits mailing list