[OpenCL] Pipe packet size/alignment.


I’d like to add pipe packet size and alignment information to LLVM IR as pipe built-in function parameters as defined in SPIR 2.0 provisional specification.

Previous discussion on this topic can be found in the review comments here: https://reviews.llvm.org/D15914.

Any objections/comments?

  • Alexey

Yes, I think this might be useful for the compiler to have this extra bits in, even though it was agreed originally not to add it. I think it was considered as something that is not absolutely necessary to have.

Would your change be aligned with SPIR 2.0 as asked during the previous discussion here:




I haven’t start working on this change yet, but I’m planning aligning with SPIR-V specification rather than SPIR 2.0.

SPIR-V is not based on LLVM IR and doesn’t specify type/function names, so at the moment I’m planning only adding pipe packet size and alignment w/o “changing resulting builtin names and changing pipe argument to “struct opencl.pipe*””.

Adding Valery from the earlier discussion.

@Valery, it doesn’t seem there is much interest to support SPIR 2.0 due to the latest SPIR-V development I guess. I suggest you look at the review Alexey is planned to create to see if the code can be merged into something usable in both cases.