[PATCH] D82388: move "basic" builtins to TableGen
Nathan Froyd via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 23 08:31:34 PDT 2020
froydnj created this revision.
froydnj added reviewers: rsmith, stoklund.
Herald added subscribers: llvm-commits, cfe-commits, sstefan1, kerbowa, dmgreen, jfb, atanasyan, jrtc27, kbarton, aheejin, hiraditya, jgravelle-google, sbc100, mgorny, nhaehnle, jvesely, nemanjai, sdardis, dschuff, jholewinski.
Herald added a reviewer: jdoerfert.
Herald added projects: clang, LLVM.
This is the first step towards a move of all builtin function
definitions living in TableGen. The intent is that once that is
accomplished, the storage cost and runtime cost (due to relocations) of
builtin function info structures can be significantly reduced by using
integer offsets into TableGen'd string tables rather than pointers.
We need to add an additional API to TableGen, as uses of at least the
atomic builtins depend on the order in which they are specified in
Builtins.def/Builtins.td, and changing `getDerivedDefinitions` to emit
records in definition order had other undesirable effects that I was not
prepared to untangle.
No functional change intended.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D82388
Files:
clang/include/clang/AST/Expr.h
clang/include/clang/Basic/Builtins.def
clang/include/clang/Basic/Builtins.h
clang/include/clang/Basic/Builtins.td
clang/include/clang/Basic/BuiltinsAArch64.def
clang/include/clang/Basic/BuiltinsAMDGPU.def
clang/include/clang/Basic/BuiltinsARM.def
clang/include/clang/Basic/BuiltinsBPF.def
clang/include/clang/Basic/BuiltinsHexagon.def
clang/include/clang/Basic/BuiltinsLe64.def
clang/include/clang/Basic/BuiltinsMips.def
clang/include/clang/Basic/BuiltinsNEON.def
clang/include/clang/Basic/BuiltinsNVPTX.def
clang/include/clang/Basic/BuiltinsPPC.def
clang/include/clang/Basic/BuiltinsSVE.def
clang/include/clang/Basic/BuiltinsSystemZ.def
clang/include/clang/Basic/BuiltinsWebAssembly.def
clang/include/clang/Basic/BuiltinsX86.def
clang/include/clang/Basic/BuiltinsX86_64.def
clang/include/clang/Basic/BuiltinsXCore.def
clang/include/clang/Basic/CMakeLists.txt
clang/include/clang/Basic/arm_neon_incl.td
clang/include/clang/module.modulemap
clang/lib/AST/StmtPrinter.cpp
clang/lib/Basic/Builtins.cpp
clang/lib/Sema/OpenCLBuiltins.td
clang/lib/Sema/SemaChecking.cpp
clang/lib/Sema/SemaExpr.cpp
clang/test/Analysis/bstring.c
clang/utils/TableGen/CMakeLists.txt
clang/utils/TableGen/ClangBuiltinsEmitter.cpp
clang/utils/TableGen/MveEmitter.cpp
clang/utils/TableGen/NeonEmitter.cpp
clang/utils/TableGen/SveEmitter.cpp
clang/utils/TableGen/TableGen.cpp
clang/utils/TableGen/TableGenBackends.h
llvm/include/llvm/TableGen/Record.h
llvm/lib/TableGen/Record.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82388.272738.patch
Type: text/x-patch
Size: 180688 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200623/46a78c59/attachment-0001.bin>
More information about the llvm-commits
mailing list