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

Reply via email to