LLVM

E59978

LLVM is a modular, reusable compiler and toolchain infrastructure project widely used for building language frontends, optimizers, and backends for diverse hardware architectures.


Statements (152)
Predicate Object
instanceOf compiler infrastructure project
open-source software
software library
toolchain
buildSystem CMake
category compiler infrastructure
program analysis tools
software development tools
designGoal language independence
modularity
reusability
support for lifelong program analysis
target independence
developer LLVM Project
firstReleaseYear 2003
governanceModel open-source, community-driven
hasComponent AddressSanitizer
Clang
DataFlowSanitizer
FileCheck
LLD linker
LLDB debugger
LLDB-MI (historical)
LLVM Core libraries
LLVM Intermediate Representation
MLIR
MemorySanitizer
OpenMP runtime
Polly
SanitizerCoverage
TableGen
ThreadSanitizer
UndefinedBehaviorSanitizer
clang static analyzer
clang-format
clang-tidy
clangd
compiler-rt
libFuzzer
libLLVM
libc++
libc++abi
libclang
libunwind
lit test runner
llvm-ar
llvm-as assembler
llvm-config
llvm-dis disassembler
llvm-mc
llvm-nm
llvm-objdump
llvm-readobj
opt optimization tool
sanitizers
influenced Emscripten
Julia JIT compiler
Kotlin/Native compiler
MLIR design
Rust compiler backend
Swift compiler design
Zig compiler
various JIT compilers
influencedBy SSA-based intermediate representations
traditional compiler design
license Apache License 2.0 with LLVM exceptions
University of Illinois/NCSA Open Source License (historical)
maintainedBy LLVM community
operatingSystem cross-platform
originalDeveloper Chris Lattner
Vikram Adve
originatedAt University of Illinois at Urbana-Champaign
previousBuildSystem Autoconf/Make (historical)
primaryUse code generation
code optimization
compiler backend
just-in-time compilation
link-time optimization
static analysis
programmingLanguage C++
repository https://github.com/llvm/llvm-project
supportsArchitecture AArch64
ARM
MIPS
PowerPC
RISC-V
SPARC
WebAssembly
x86
x86-64
supportsFeature JIT compilation
LTO plugin for GNU ld and gold
ahead-of-time compilation
coverage instrumentation
debug information generation
exception handling
garbage collection support
interprocedural optimization
link-time optimization (LTO)
linker plugins
profile instrumentation
profile-guided optimization
sanitizer instrumentation
static analysis passes
thin LTO
vectorization
whole-program optimization
supportsLanguageFrontend C (via Clang)
C# (via various experimental compilers)
C++ (via Clang)
Crystal
D (via LDC)
Fortran (via Flang and others)
Go (via gccgo-llvm and others, experimental)
Haskell (via GHC backend)
JavaScript (via Emscripten toolchain)
Julia (via Julia compiler)
Kotlin/Native
Lua (via LuaJIT experimental backends)
Nim (via nlvm and others)
Objective-C (via Clang)
Objective-C++ (via Clang)
Ruby (via Rubinius, MRuby variants)
Rust (via rustc)
Swift (via Swift compiler)
Zig
supportsOperatingSystem FreeBSD
Linux
Windows
macOS
usedBy AMD
ARM Ltd.
Apple
Facebook (Meta)
Google
Intel
Microsoft
Mozilla (via Rust and Firefox tooling)
NVIDIA
Sony
various Unix-like operating systems
usedIn Android NDK
Chrome and Chromium build toolchains
FreeBSD base system
GPU shader compilers
OpenBSD base system (partially)
PlayStation SDKs
Xcode toolchain
high-performance computing compilers
usesFileFormat LLVM bitcode
usesIntermediateRepresentation LLVM IR
website https://llvm.org/

Referenced by (24)
Subject (surface form when different) Predicate
LLVM ("LLVM Core libraries")
LLVM ("LLVM Intermediate Representation")
LLVM ("libLLVM")
LLVM ("llvm-as assembler")
LLVM ("llvm-dis disassembler")
LLVM ("UndefinedBehaviorSanitizer")
LLVM ("libFuzzer")
LLVM ("llvm-nm")
LLVM ("llvm-readobj")
hasComponent
Intel C++ Compiler
Julia
basedOn
Clang ("LLVM community")
LLVM ("LLVM Project")
developer
V8 ("TurboFan optimizing compiler")
feature
RISC-V ("LLVM/Clang for RISC-V")
hasToolchain
GNU Compiler Collection
influenced
LLVM ("LLVM community")
maintainedBy
Clang ("LLVM project")
partOf
PlaidML
supportsBackend
Unity ("IL2CPP")
supportsScriptingBackend
MIPS
toolchainSupport
Clang
usesBackend
Swift (programming language)
usesCompilerInfrastructure
LLVM ("LLVM IR")
usesIntermediateRepresentation

Please wait…