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.
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.