pxli168 added inline comments.

================
Comment at: lib/CodeGen/CGOpenCLRuntime.cpp:108
@@ +107,3 @@
+    PipeTy = llvm::PointerType::get(llvm::StructType::create(
+      CGM.getLLVMContext(), "opencl.pipe_t"), PipeAddrSpc);
+  }
----------------
Anastasia wrote:
> Should there be any indication of pipe element type or at least its size?  
> I.e should we differentiate between 'pipe char' or 'pipe int' in IR?
> 
> Perhaps, it doesn't have to be a part of this commit, but it would still be 
> useful to understand.
There is one for the element size in the pipe related built-ins. But the 
built-in part refined the some of the built-in functions.
For example, the original read_pipe with 2 parameters is in the form

```
int read_pipe(pipe gentype p, gentype *e);
```
To get the indication for the pipe element type with in functions, we change it 
into this form

```
int read_pipe(pipe gentype p, char *e,int sizeofgentype);
```
This actually change the form of the OpenCL built-in functions, but can save a 
lot of things for the backend.
Another way is to get the pipe element type form the -cl-kernel-arg-info, the 
pipe is as the type qual and the element type for the type.
So which one do you think is better? Add a size or using kernel-arg-info, I am 
now wondering if the built-in for pipe is really needed. Hope you can give me 
some advice.

================
Comment at: lib/CodeGen/CodeGenFunction.cpp:565
@@ +564,3 @@
+    // FIXME: now image and pipe share the same access qualifier maybe we can
+    // refine it to OCL acess qualifier and also handle write_read
+    if (ty->isImageType()|| ty->isPipeType()) {
----------------
Anastasia wrote:
> acess -> access
> OCL -> OpenCL
I will fix them, thank you.

================
Comment at: lib/Sema/TreeTransform.h:5352
@@ -5329,1 +5351,3 @@
+
+namespace {
   /// \brief Simple iterator that traverses the template arguments in a
----------------
Anastasia wrote:
> Not clear why the namespace is being added here? i. e. seems to be old code.
It seems to have no use, I will try to remove it and see if it can compile.

================
Comment at: test/CodeGenOpenCL/pipe_types.cl:15
@@ +14,3 @@
+// CHECK: define void @test2(%opencl.pipe_t* %p)
+  reserve_id_t rid;
+// CHECK: %rid = alloca %opencl.reserve_id_t
----------------
Anastasia wrote:
> Do we need to check reserve_id_t in every test? I feel like having it once 
> would be enough.
Good idea, I will remove some.

================
Comment at: test/SemaOpenCL/pipes-1.2-negative.cl:1
@@ +1,2 @@
+// RUN: %clang_cc1 %s -verify -pedantic -fsyntax-only -cl-std=CL1.2
+
----------------
Anastasia wrote:
> Could we add tests for checking CL2.0 pipes diagnostics added in this patch?
Ok, I will add those checking for pipe access qualifier and element type.


http://reviews.llvm.org/D15603



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

Reply via email to