summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/OpenCLBuiltins.td
Commit message (Collapse)AuthorAgeFilesLines
* [OpenCL] Add MSAA sharing extension builtin functionsSven van Haastregt2020-01-141-0/+37
| | | | | | | Add the MSAA sharing builtin functions from the OpenCL Extension Specification. Patch by Pierre Gondois and Sven van Haastregt.
* [OpenCL] Remove redundant foreach in OpenCLBuiltins.td; NFCSven van Haastregt2019-12-311-76/+32
| | | | | Remove various `foreach` declarations where the iterator is used only once. This makes the .td file more compact.
* [OpenCL] Add mipmap builtin functionsSven van Haastregt2019-12-301-0/+177
| | | | | | | Add the mipmap builtin functions from the OpenCL extension specification. Patch by Pierre Gondois and Sven van Haastregt.
* [OpenCL] Add atomic builtin functionsSven van Haastregt2019-12-231-0/+79
| | | | | | Add atomic builtin functions from the OpenCL C specification. Patch by Pierre Gondois and Sven van Haastregt.
* [OpenCL] Add builtin function extension handlingSven van Haastregt2019-12-181-13/+30
| | | | | | | | | | Provide a mechanism to attach OpenCL extension information to builtin functions, so that their use can be restricted according to the extension(s) the builtin is part of. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D71476
* [OpenCL] Add work-group and miscellaneous vector builtin functionsSven van Haastregt2019-11-261-1/+56
| | | | | | | Add the work-group and miscellaneous vector builtin functions from the OpenCL C specification. Patch by Pierre Gondois and Sven van Haastregt.
* [OpenCL] Add remaining vector data builtin functionsSven van Haastregt2019-11-131-1/+51
| | | | | | | Add the remaining half (fp16) vector data load and store builtin functions from the OpenCL C specification. Patch by Pierre Gondois and Sven van Haastregt.
* [OpenCL] Add geometric and relational builtin functionsSven van Haastregt2019-11-071-0/+100
| | | | | | | | | Add the geometric and relational builtin functions from the OpenCL C specification. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D69908
* [OpenCL] Add integer builtin functionsSven van Haastregt2019-11-071-6/+62
| | | | | | | | | This patch adds the integer builtin functions from the OpenCL C specification. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D69901
* [OpenCL] Add math and common builtin functionsSven van Haastregt2019-11-071-18/+153
| | | | | | | | | Add the remaining math and common builtin functions from the OpenCL C specification. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D69883
* [OpenCL] Add builtin function attribute handlingSven van Haastregt2019-11-051-41/+56
| | | | | | | | | Add handling for the "pure", "const" and "convergent" function attributes for OpenCL builtin functions. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D64319
* [OpenCL] Add image query builtin functionsSven van Haastregt2019-09-251-0/+25
| | | | | | | | | | Add the image query builtin functions from the OpenCL C specification. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D67713 llvm-svn: 372833
* [OpenCL] Add version handling and add vector ld/st builtinsSven van Haastregt2019-09-191-16/+145
| | | | | | | | | | | | | | | | | | | Allow setting a MinVersion, stating from which OpenCL version a builtin function is available, and a MaxVersion, stating from which OpenCL version a builtin function should not be available anymore. Guard some definitions of the "work-item" builtin functions according to the OpenCL versions from which they are available. Add the "vector data load and store" builtin functions (e.g. vload/vstore), whose signatures differ before and after OpenCL 2.0 in the pointer argument address spaces. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D63504 llvm-svn: 372321
* [OpenCL] Tidy up some comments; NFCSven van Haastregt2019-09-171-10/+4
| | | | llvm-svn: 372119
* [OpenCL] Add image type handling for builtinsSven van Haastregt2019-09-051-43/+151
| | | | | | | | | | | | | | | | | | | Image types were previously available, but not working. This patch adds image type handling. Rename the image type definitions in the .td file to make them consistent with other type names. Use abstract types to represent the unqualified types. Instantiate access-qualified image types at the point of use using, e.g. `ImageType<Image2d, "RO">`. Add/update TableGen definitions for the read_image/write_image builtin functions. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D63480 llvm-svn: 371046
* [OpenCL] Add const, volatile and pointer builtin handlingSven van Haastregt2019-08-201-13/+85
| | | | | | | | | | | | | | Const, volatile, and pointer types were previously available, but not working. This patch adds handling for OpenCL builtin functions. Add TableGen definitions for some atomic and asynchronous builtins to make use of the new functionality. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D63442 llvm-svn: 369373
* [OpenCL] Add generic type handling for builtin functionsSven van Haastregt2019-08-191-88/+135
| | | | | | | | | | | | | | | | | | Generic types are an abstraction of type sets. It mimics the way functions are defined in the OpenCL specification. For example, floatN can abstract all the vector sizes of the float type. This allows to * stick more closely to the specification, which uses generic types; * factorize definitions of functions with numerous prototypes in the tablegen file; and * reduce the memory impact of functions with many overloads. Patch by Pierre Gondois and Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D65456 llvm-svn: 369253
* [OpenCL] Rename builtin definition classesSven van Haastregt2019-07-291-60/+63
| | | | | | | | | Factor out some of the renames from D63434 and D63442, and generate half type convert_ builtins. Patch by Pierre Gondois and Sven van Haastregt. llvm-svn: 367229
* Recommit [OpenCL] Move OpenCLBuiltins.td and remove unused includeSven van Haastregt2019-06-171-0/+296
| | | | | | | | | | Reland r363242 after fixing an issue with the tablegen dependence. Patch by Pierre Gondois and Sven van Haastregt. Differential revision: https://reviews.llvm.org/D62849 llvm-svn: 363541
* Revert "[OpenCL] Move OpenCLBuiltins.td and remove unused include"Sven van Haastregt2019-06-141-296/+0
| | | | | | | | | This reverts commit r363242 as it broke some builds with make[2]: *** No rule to make target 'ClangOpenCLBuiltinsImpl', needed by 'tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaLookup.cpp.o'. llvm-svn: 363376
* [OpenCL] Move OpenCLBuiltins.td and remove unused includeSven van Haastregt2019-06-131-0/+296
Patch by Pierre Gondois. Differential revision: https://reviews.llvm.org/D62849 llvm-svn: 363242
OpenPOWER on IntegriCloud