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.

All labels observed (31)

How this entity was disambiguated

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 self-linksurface differs
surface form: LLVM Project
firstReleaseYear 2003
governanceModel open-source, community-driven
hasComponent AddressSanitizer
Clang
DataFlowSanitizer
FileCheck
LLD linker
LLDB
surface form: LLDB debugger

LLDB-MI (historical)
LLVM self-linksurface differs
surface form: LLVM Core libraries

LLVM self-linksurface differs
surface form: LLVM Intermediate Representation

MLIR
MemorySanitizer
OpenMP
surface form: OpenMP runtime

Polly
SanitizerCoverage
TableGen
ThreadSanitizer
LLVM self-linksurface differs
surface form: UndefinedBehaviorSanitizer

clang static analyzer
Clang-Format
surface form: clang-format

Clang-Tidy
surface form: clang-tidy

clangd
compiler-rt
LLVM self-linksurface differs
surface form: libFuzzer

LLVM self-linksurface differs
surface form: libLLVM

C++ standard library
surface form: libc++

libc++abi
libclang library
surface form: libclang

libunwind
lit test runner
llvm-ar
LLVM self-linksurface differs
surface form: llvm-as assembler

llvm-config
LLVM self-linksurface differs
surface form: llvm-dis disassembler

llvm-mc
LLVM self-linksurface differs
surface form: llvm-nm

llvm-objdump
LLVM self-linksurface differs
surface form: llvm-readobj

opt optimization tool
sanitizers
influenced Emscripten
Julia JIT compiler
Kotlin/Native
surface form: Kotlin/Native compiler

MLIR design
Rust compiler backend
Swift compiler design
Zig
surface form: 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 self-linksurface differs
surface form: LLVM community
operatingSystem cross-platform
originalDeveloper Chris Lattner
Vikram Adve
originatedAt University of Illinois at Urbana–Champaign
surface form: University of Illinois at Urbana-Champaign
previousBuildSystem GNU Autoconf
surface form: 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 ARMv8-A
surface form: AArch64

ARM
MIPS
PowerPC
RISC-V
SPARC microprocessor architecture
surface form: SPARC

WebAssembly specification
surface form: 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
surface form: C (via Clang)

C# (via various experimental compilers)
C++
surface form: C++ (via Clang)

Crystal
D (via LDC)
Fortran
surface form: Fortran (via Flang and others)

Go
surface form: Go (via gccgo-llvm and others, experimental)

Haskell
surface form: Haskell (via GHC backend)

JavaScript (via Emscripten toolchain)
Julia
surface form: Julia (via Julia compiler)

Kotlin/Native
Lua
surface form: Lua (via LuaJIT experimental backends)

Nim (via nlvm and others)
Objective-C
surface form: Objective-C (via Clang)

Objective-C++ (via Clang)
Ruby
surface form: Ruby (via Rubinius, MRuby variants)

Rust
surface form: Rust (via rustc)

Swift
surface form: Swift (via Swift compiler)

Zig
supportsOperatingSystem FreeBSD
Linux
Windows
macOS
usedBy Advanced Micro Devices
surface form: AMD

Arm Ltd.
surface form: ARM Ltd.

Apple Inc.
surface form: Apple

Meta Platforms, Inc.
surface form: Facebook (Meta)

Google
Intel Corporation
surface form: Intel

Microsoft
Mozilla
surface form: Mozilla (via Rust and Firefox tooling)

NVIDIA Corporation
surface form: NVIDIA

Sony
various Unix-like operating systems
usedIn Android NDK
Chrome and Chromium build toolchains
FreeBSD
surface form: FreeBSD base system

GPU shader compilers
OpenBSD
surface form: OpenBSD base system (partially)

PlayStation SDKs
Xcode
surface form: Xcode toolchain

high-performance computing compilers
usesFileFormat LLVM bitcode
usesIntermediateRepresentation LLVM self-linksurface differs
surface form: LLVM IR
website https://llvm.org/

How these facts were elicited

Referenced by (113)

Full triples — surface form annotated when it differs from this entity's canonical label.

D (via LDC) basedOn LLVM
D (via LDC) supportsFeature LLVM
this entity surface form: LLVM optimization passes
D (via LDC) integration LLVM
this entity surface form: LLVM toolchain
Kotlin/Native uses LLVM
Emscripten basedOn LLVM
libc++abi partOf LLVM
this entity surface form: LLVM project
libc++abi developedBy LLVM
this entity surface form: LLVM project
libc++abi developedBy LLVM
this entity surface form: LLVM community
Ninja build system usedBy LLVM
this entity surface form: LLVM project (via CMake)
eBPF hasLanguageBinding LLVM
this entity surface form: LLVM IR
eBPF compiledWith LLVM
bpftrace programmingLanguage LLVM
this entity surface form: LLVM IR