LLVM Compiler Infrastructure

LLVM Compiler Infrastructure

llvm.org

4

About this website

LLVM is a collection of modular and reusable compiler and toolchain technologies, originally developed by Chris Lattner at the University of Illinois Urbana-Champaign in 2000 as a research project (Low Level Virtual Machine). Now maintained by the LLVM Foundation and a global community of contributors, LLVM has become the foundation of modern compiler technology, used by Apple Clang (for Xcode and Swift), Google (for Android NDK and Go), Rust (via rustc LLVM backend), Zig, Julia, Crystal, and many other language compilers. The LLVM project consists of several core components: the LLVM IR (Intermediate Representation, a typed, static single assignment form language that serves as the universal compilation target), LLVM core (the optimizer and code generator supporting over 30 target architectures including x86, ARM, AArch64, RISC-V, MIPS, PowerPC, WebAssembly, and AMDGPU), Clang (the C/C++/Objective-C compiler front-end providing fast compilation, expressive diagnostics, and ARC support), LLD (a high-performance linker), LLDB (the debugger), libc++ (the C++ standard library implementation), MLIR (Multi-Level Intermediate Representation for domain-specific compiler optimization), and BOLT (post-link binary optimizer). The LLVM optimizer provides over 100 transformation passes including dead code elimination, constant propagation, loop unrolling, vectorization, inlining, and instruction scheduling. The code generator includes register allocation via graph coloring, instruction selection via pattern matching DAG, and peephole optimization.

Tags & Categories

Statistics

4
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!