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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits