diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2024-12-17 19:21:27 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2025-02-04 18:04:58 +0000 |
commit | 212ecb9d5caaa7cc721edd981f36384ddfccfa5d (patch) | |
tree | ea504bf9ccc8ed9ab082610568c3d23fc77b19fe /clang/lib/Sema/SemaChecking.cpp | |
parent | 64ea3f5a4720105d166b034d5a34d92475579e64 (diff) | |
download | llvm-212ecb9d5caaa7cc721edd981f36384ddfccfa5d.zip llvm-212ecb9d5caaa7cc721edd981f36384ddfccfa5d.tar.gz llvm-212ecb9d5caaa7cc721edd981f36384ddfccfa5d.tar.bz2 |
[StrTable] Teach main builtin TableGen to use direct enums, strings, and info
This moves the main builtins and several targets to use nice generated
string tables and info structures rather than X-macros. Even without
obvious prefixes factored out, the resulting tables are significantly
smaller and much cheaper to compile with out all the X-macro overhead.
This leaves the X-macros in place for atomic builtins which have a wide
range of uses that don't seem reasonable to fold into TableGen.
As future work, these should move to their own file (whether as X-macros
or just generated patterns) so the AST headers don't have to include all
the data for other builtins.
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index b345e40..66c233d 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -2451,7 +2451,6 @@ Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID, CheckNonNullArgument(*this, TheCall->getArg(0), TheCall->getExprLoc()); break; } -#define BUILTIN(ID, TYPE, ATTRS) #define ATOMIC_BUILTIN(ID, TYPE, ATTRS) \ case Builtin::BI##ID: \ return AtomicOpsOverloaded(TheCallResult, AtomicExpr::AO##ID); |