Binary package “llvm-10” in openkylin huanghe
Modular compiler and toolchain technologies
LLVM is a collection of libraries and tools that make it easy to build
compilers, optimizers, just-in-time code generators, and many other
compiler-related programs.
.
LLVM uses a single, language-
as an offline code representation (to communicate code between
compiler phases and to run-time systems) and as the compiler internal
representation (to analyze and transform programs). This persistent
code representation allows a common set of sophisticated compiler
techniques to be applied at compile-time, link-time, install-time,
run-time, or "idle-time" (between program runs).
.
The strengths of the LLVM infrastructure are its extremely
simple design (which makes it easy to understand and use),
source-language independence, powerful mid-level optimizer, automated
compiler debugging support, extensibility, and its stability and
reliability. LLVM is currently being used to host a wide variety of
academic research projects and commercial projects. LLVM includes C
and C++ front-ends, a front-end for a Forth-like language (Stacker),
a young scheme front-end, and Java support is in development. LLVM can
generate code for X96, SparcV10, PowerPC or many other architectures.