diff options
Diffstat (limited to 'lang/clang/DESCR')
-rw-r--r-- | lang/clang/DESCR | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lang/clang/DESCR b/lang/clang/DESCR new file mode 100644 index 00000000000..9bf02c2c5d8 --- /dev/null +++ b/lang/clang/DESCR @@ -0,0 +1,22 @@ +Low Level Virtual Machine (LLVM) is: + +A compilation strategy designed to enable effective program optimization across +the entire lifetime of a program. LLVM supports effective optimization at +compile time, link-time (particularly interprocedural), run-time and offline +(i.e., after software is installed), while remaining transparent to developers +and maintaining compatibility with existing build scripts. + +A virtual instruction set - LLVM is a low-level object code representation that +uses simple RISC-like instructions, but provides rich, language-independent, +type information and dataflow (SSA) information about operands. This combination +enables sophisticated transformations on object code, while remaining +light-weight enough to be attached to the executable. This combination is key to +allowing link-time, run-time, and offline transformations. + +A compiler infrastructure - LLVM is also a collection of source code that +implements the language and compilation strategy. The primary components of the +LLVM infrastructure are a GCC-based C & C++ front-end, a link-time optimization +framework with a growing set of global and interprocedural analyses and +transformations, static back-ends for the X86, X86-64, PowerPC 32/64, ARM, +Thumb, IA-64, Alpha and SPARC architectures, a back-end which emits portable C +code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors. |