[clang] [llvm] [SPIRV] Add more id and range builtIns (PR #143909)
Nathan Gauër via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 24 04:54:35 PDT 2025
Keenuts wrote:
> The advantage of intrinsics is they can be understood better by passes, it also creates an easier way for passes to introduce them (and less error prone). It's kinda pedantic TBH and I don't have strong opinions about them (it just feels cleaner to me). For the frontend side, the builtin makes things easier and cleaner for SYCL (one of them being that there is no `Input` SC mapping).
Right. So this means we'll have 2 ways to load builtins depending on the FE: for HLSL, all built-ins are represented using global variables in a specific AS with the associated metadata to generate the decoration.
The reason for this is we wanted to make sure the final load/store to be explicit, and possibly optimized-out.
For inputs, I don't think that's very important, but for outputs, this is important:
for ex, the POINT_SIZE builtin will behave differently if written to, or left to pipeline default.
https://github.com/llvm/llvm-project/pull/143909
More information about the cfe-commits
mailing list