[PATCH] D15603: [OpenCL] Pipe type support

Ulrich Weigand via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 28 08:14:51 PST 2016

uweigand added a subscriber: uweigand.
uweigand added a comment.

Now that our build bot is up and running again, I noticed that the newly added test pipe_types.cl fails on SystemZ:

  /home3/uweigand/llvm/llvm-head/tools/clang/test/CodeGenOpenCL/pipe_types.cl:26:11: error: expected string not found in input
  // CHECK: define void @test5(%opencl.pipe_t* %p)                                                                            
  <stdin>:34:40: note: scanning from here                                                                                     
  define void @test4(%opencl.pipe_t* %p) #0 {                                                                                 
  <stdin>:42:1: note: possible intended match here                                                                            
  define void @test5(%opencl.pipe_t**) #0 {                                                                                   

For some reason, test5 gets an extra indirection in the input argument:

  define void @test5(%opencl.pipe_t**) #0 {
    %p.addr = alloca %opencl.pipe_t*, align 16
    %p = load %opencl.pipe_t*, %opencl.pipe_t** %0, align 16
    store %opencl.pipe_t* %p, %opencl.pipe_t** %p.addr, align 16
    ret void

Are there supposed to be platform-specific differences in OpenCL types?


More information about the cfe-commits mailing list