[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