summaryrefslogtreecommitdiff
path: root/lang/clang/DESCR
diff options
context:
space:
mode:
Diffstat (limited to 'lang/clang/DESCR')
-rw-r--r--lang/clang/DESCR22
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.