[cfe-commits] cfe-commits Digest, Vol 55, Issue 164

Tanya Lattner lattner at apple.com
Wed Jan 18 17:20:24 PST 2012


All requested changes made in r148452.

-Tanya

On Jan 18, 2012, at 7:07 AM, Anton Lokhmotov wrote:

>>> +      // Handle vector types.
>>> +      // Vector logical not returns the signed variant of the operand
>>> type.
> 
>> The first comment line is not superfluous.
> 
> Sorry, IS superfluous (i.e. NOT needed).
> 
> Another nit-pick: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Sema.h?r1=148254&r2=148253&pathrev=148254
> 
> +  QualType GetSignedVectorType(QualType V);
>   QualType CheckVectorCompareOperands(ExprResult &LHS, ExprResult &RHS,
>                                       SourceLocation Loc, bool isRelational);
> +  QualType CheckVectorLogicalOperands(ExprResult LHS, ExprResult RHS,
> +                                      SourceLocation Loc);
> 
> I can't check this at the moment, but is there any reason why CheckVectorLogicalOperands can't receive its parameters by reference?
> 
> Thanks,
> Anton.
> 
> ________________________________________
> From: Anton Lokhmotov [Anton.Lokhmotov at arm.com]
> Sent: 18 January 2012 12:58
> To: 'Tanya Lattner'
> Cc: cfe-commits at cs.uiuc.edu; Eli Friedman
> Subject: RE: cfe-commits Digest, Vol 55, Issue 164
> 
> Hi Tanya,
> 
>> +    }
>> +    else if (resultType->isExtVectorType()) {
> 
> Eli has also noticed that 'else if' should have been on the previous line.
> 
>> +      // Handle vector types.
>> +      // Vector logical not returns the signed variant of the operand
>> type.
> 
> The first comment line is not superfluous.
> 
> Could you please also add the test below?
> 
> Many thanks,
> Anton.
> 
> 
> diff --git a/test/CodeGenOpenCL/vector_logops.cl b/test/CodeGenOpenCL/vector_logops.cl
> new file mode 100644
> index 0000000..35425bd
> --- /dev/null
> +++ b/test/CodeGenOpenCL/vector_logops.cl
> @@ -0,0 +1,19 @@
> +// RUN: %clang_cc1 -O3 %s -emit-llvm -o - | FileCheck %s
> +
> +typedef int int2 __attribute((ext_vector_type(2)));
> +
> +int test1()
> +{
> +  int2 a = (int2)(1,0);
> +  int2 b = (int2)(1,1);
> +  return (a&&b).x + (a||b).y;
> +  // CHECK: ret i32 -2
> +}
> +
> +int test2()
> +{
> +  int2 a = (int2)(1,0);
> +  return (!a).y;
> +  // CHECK: ret i32 -1
> +}
> +
> 
> -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.
> 




More information about the cfe-commits mailing list