stuart requested changes to this revision.
stuart added a comment.
This revision now requires changes to proceed.

Looks good.  Small nit about the test case.



================
Comment at: clang/lib/CodeGen/CodeGenModule.cpp:1500
         StringRef typeNameRef = typeName;
         // Turn "unsigned type" to "utype"
         if (Ty.isCanonical()) {
----------------
It'd make sense to push this comment down one line, above the 
`consume_front("unsigned ")` call, as it doesn't apply to the 
`consume_front("signed ")` call - or reword it so it covers both substitutions.


================
Comment at: clang/test/CodeGenOpenCL/kernel-arg-info.cl:110
 
+kernel void foo9(signed int si1,  global const signed int* si2) {}
+// CHECK: define{{.*}} spir_kernel void @foo9{{[^!]+}}
----------------
`signed char` would be a better test case, here (although it may be good to 
test `signed int` as well).

I believe (but I haven't checked in detail) that for `int` the canonical naming 
is either `int` or `unsigned int` (i.e. `signed int` will not occur) whereas 
for `char`, the canonical naming is `unsigned char`, `signed char` (explicitly 
stated) or simply `char` (unstated signedness). (I am basing this on metadata 
that I have seen, and the understanding that in C, the signedness of `char` 
with no explicit `signed` or `unsigned` specifier is implementation-defined.)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96161/new/

https://reviews.llvm.org/D96161

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to