[PATCH] D16876: [OpenCL] Refine pipe builtin support

Anastasia Stulova via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 9 10:06:01 PST 2016


Anastasia added a comment.

Related to:

1. I think I would still add space. You can also reformat other lines. There are only 5 lines above.
2. Agree.
3. Feels like may be we should try to see if the passed argument is convertible to the function parameter type.

For example, I see that some builtins in SemaChecking.cpp use DefaultFunctionArrayLvalueConversion to try converting to a pointer type. I am not sure what we could do for other types though  especially for the OpenCL types.

@Richard, would you be able to give us more information here:

  > +  case 4: {
  > +    if (checkOpenCLPipeArg(S, Call))
  > +      return true;
  > +    // The call with 4 arguments should be
  > +    // read/write_pipe(pipe T, reserve_id_t, uint, T*)
  > +    // check reserve_id_t
  > +    if (!Call->getArg(1)->getType()->isReserveIDT()) {
  
  You should attempt to implicitly convert to the desired type here, rather than demanding the right type, to match the normal call semantics. Likewise elsewhere in this patch.
   


http://reviews.llvm.org/D16876





More information about the cfe-commits mailing list