efriedma added a comment.

> This is because many of the builtins are protected by an architecture guard 
> like `#ifdef __ARM_FEATURE_SVE` or `#ifdef __ARM_FEATURE_SVE2`.

I think TARGET_HEADER_BUILTIN has support for requiring target features.  
Granted, we don't use it much at the moment, so there might be some non-obvious 
issue with this.

> Do you happen to know which method in Sema does this? I had a look before, 
> but couldn't find where we could do something like this.

See Sema::LazilyCreateBuiltin, and its caller Sema::LookupBuiltin.

> The reason for using #defines for the non-overloaded intrinsics was mainly 
> performance, the preprocessor was much faster than having to parse all 
> declarations, with the only downside being the redirection in the diagnostics.

Oh, that makes sense.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75298/new/

https://reviews.llvm.org/D75298



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to