LLVM Compiler Infrastructure

LLVM Compiler Infrastructure

www.llvm.org

2

About this website

LLVM is a collection of modular and reusable compiler and toolchain technologies, providing a modern, SSA-based optimization and code generation framework that serves as the backend for numerous programming languages. Originally developed by Chris Lattner at the University of Illinois Urbana-Champaign in 2000, LLVM has become the foundation of modern compiler technology, used by Apple (Swift, Xcode), Google (Android NDK, Bazel), Rust, Zig, Julia, and Clang. Key features include: LLVM IR (language-independent intermediate representation enabling frontends for any language to target any architecture through a common optimization and code generation pipeline), Clang (C, C++, and Objective-C frontend with fast compilation, expressive diagnostics, and modular library architecture), optimization passes (over 100 optimization passes including dead code elimination, constant propagation, loop unrolling, vectorization, inlining, and polyhedral optimization), code generation (backends for x86, ARM, AArch64, RISC-V, MIPS, PowerPC, WebAssembly, AMDGPU, NVPTX, and SPIR-V with instruction scheduling and register allocation), JIT compilation (runtime code generation and execution via LLVM ORC JIT engine for dynamic languages), linker (LLD high-performance linker replacing GNU ld with faster linking and smaller binaries), debugger (LLDB debugger with multi-language support and Python scripting), assembler and disassembler (MC layer for assembly and disassembly with cross-compilation support), Sanitizers (AddressSanitizer, ThreadSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, and DataFlowSanitizer for detecting memory errors and data races), libomp (OpenMP runtime for parallel programming), and cross-compilation (full support for cross-compilation with target triples and sysroot configuration).

Statistics

2
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!