llvm-project/clang/utils
Sven van Haastregt 79a222fcf8 [OpenCL] Declare builtin functions using TableGen
This patch adds a `-fdeclare-opencl-builtins` command line option to
the clang frontend.  This enables clang to verify OpenCL C builtin
function declarations using a fast StringMatcher lookup, instead of
including the opencl-c.h file with the `-finclude-default-header`
option.  This avoids the large parse time penalty of the header file.

This commit only adds the basic infrastructure and some of the OpenCL
builtins.  It does not cover all builtins defined by the various OpenCL
specifications.  As such, it is not a replacement for
`-finclude-default-header` yet.

RFC: http://lists.llvm.org/pipermail/cfe-dev/2018-November/060041.html

Co-authored-by: Pierre Gondois
Co-authored-by: Joey Gouly
Co-authored-by: Sven van Haastregt

Differential Revision: https://reviews.llvm.org/D60763

llvm-svn: 362371
2019-06-03 09:39:11 +00:00
..
ABITest Portable Python script across Python version 2018-12-18 16:07:37 +00:00
CIndex Portable Python script across Python version 2018-12-18 16:07:37 +00:00
ClangVisualizers Have MSVC Visualizer for DeducedTemplateSpecializationType show both the original template and deduced specialization 2019-01-06 04:58:48 +00:00
TableGen [OpenCL] Declare builtin functions using TableGen 2019-06-03 09:39:11 +00:00
TestUtils Portable Python script across Python version 2018-12-18 16:07:37 +00:00
VtableTest
analyzer [analyzer] exploded-graph-rewriter: Initial commit. 2019-06-02 21:40:53 +00:00
check_cfc Portable Python script across Python version 2019-01-03 14:27:05 +00:00
hmaptool Portable Python script across Python version 2018-12-18 16:07:37 +00:00
perf-training Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
valgrind
CaptureCmd
ClangDataFormat.py
CmpDriver
FindSpecRefs
FuzzTest
bash-autocomplete.sh [bash-completion] Fix tab separation on macOS 2018-05-24 16:25:40 +00:00
builtin-defines.c
clangdiag.py Portable Python script across Python version 2018-12-18 16:07:37 +00:00
creduce-clang-crash.py Make clang/utils/creduce-clang-crash.py executable 2019-05-01 20:15:39 +00:00
find-unused-diagnostics.sh Unused diagnostics can occur in tblgen. 2018-01-25 15:57:22 +00:00
make-ast-dump-check.sh Add script to update OpenMP -ast-dump test expectations, and use it to 2019-06-02 04:00:38 +00:00
modfuzz.py Portable Python script across Python version 2018-12-18 16:07:37 +00:00
token-delta.py Portable Python script across Python version 2018-12-18 16:07:37 +00:00