4
Basic Libraries and Tools
LLVM is written in the C++ language and, as of July 2022, it uses the C++17 version of the C++ standard [6]. LLVM actively utilizes functionality provided by the Standard Template Library (STL). On the other hand, LLVM contains numerous internal implementations [13] for fundamental containers, primarily aimed at optimizing performance. For example, llvm
::
SmallVector
has an interface similar to std
::
vector
but features an internally optimized implementation. Hence, familiarity with these extensions is essential for anyone wishing to work with LLVM and Clang.
Additionally, LLVM has introduced other development tools such as TableGen, a domain specific language (DSL) designed for structural data processing, and LIT ...
Get Clang Compiler Frontend now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.