Anastasia added a subscriber: svenvh. Anastasia added a comment. LGTM! Thanks.
CC to @azabaznov for any final feedback. FYI this has not been officially announced but in `clang-14` we would like to transition away from using the huge hard to maintain `opencl-c.h` in favour of a more concise and fast to parse Tablegen based approach to declare builtin functions: https://clang.llvm.org/docs/OpenCLSupport.html#opencl-builtins. As a matter of fact to mature Tablegen-based solution it has been enabled by default in `clang-13` without any extra flags https://clang.llvm.org/docs/UsersManual.html#opencl-header. And it is therefore now a primary header exposed to the application developer in upstream clang. Since there has not been an announcement yet we don't make it a hard requirement yet but it is highly encouraged to mirror any new functionality into `OpenCLBuiltins.td`. Conditioning functions as in this patch is usually quite straightforward, it just needs an extra clause around builtin declarations: let Extension = <extension or feature name> in { ... } And new features/extensions can be registered with: def <Name> : FunctionExtension<"macro_name1 macro_name2 ...">; Here is one example that illustrates the idea https://reviews.llvm.org/D106434 Tablegen-header has full functionality of OpenCL 2.0 so it should be possible to extend it to OpenCL 3.0 without significant effort. Both me and @svenvh would be happy to provide more information and review should you decide to help mantaining Tablegen-header in sync with new changes. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107539/new/ https://reviews.llvm.org/D107539 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits