Handle the llvm.r600.* intrinsics which are still in use in libclc. I
thought it would be possible to switch it to using
llvm.amdgcn.implicitarg.ptr already, but it turns out the implicit
arguments are currently split into a piece before and after the
explicit kernel arguments.
Details
Diff Detail
Unit Tests
Event Timeline
I don't understand. Why do we need to handle llvm.r600.* intrinsics on amdgcn subtargets? Why does globalisel need to handle them, when it doesn't support r600?
This is so old, it's a holdover when the backend was still called r600. Ideally clover would complete its migration to using an ABI that looks a lot closer to the HSA ABI, but that's been stuck for years. For the moment it's easier to keep the existing scheme working
No objection from me, but I don't know anything about clover or these intrinsics. Is there anyone who has an interest in clover who could review it?
clang-format: please reformat the code