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.

Vikram Adve notableProject LLVM
this entity surface form: LLVM intermediate representation
University of Illinois/NCSA Open Source License (historical) usedByProject LLVM
subject surface form: University of Illinois/NCSA Open Source License
University of Illinois/NCSA Open Source License (historical) usedHistoricallyBy LLVM
subject surface form: University of Illinois/NCSA Open Source License
this entity surface form: LLVM project
LLD linker developer LLVM
subject surface form: LLD
this entity surface form: LLVM Project
LLD linker developer LLVM
subject surface form: LLD
this entity surface form: LLVM community
LLD linker partOf LLVM
subject surface form: LLD
TableGen partOf LLVM
this entity surface form: LLVM project
TableGen usedIn LLVM
this entity surface form: Clang backend infrastructure
MLIR relatedTo LLVM
Polly partOf LLVM
Polly operatesOn LLVM
this entity surface form: LLVM IR
Polly hostProject LLVM
Polly repositoryHost LLVM
this entity surface form: LLVM monorepo
compiler-rt partOf LLVM
this entity surface form: LLVM project
compiler-rt usedBy LLVM
this entity surface form: LLVM-based toolchains
compiler-rt hostedOn LLVM
this entity surface form: LLVM monorepo
compiler-rt maintainedBy LLVM
this entity surface form: LLVM community
AddressSanitizer partOf LLVM
this entity surface form: LLVM project
ThreadSanitizer partOf LLVM
this entity surface form: LLVM project
ThreadSanitizer usedWith LLVM
this entity surface form: LLVM/Clang toolchain
ThreadSanitizer maintainedBy LLVM
this entity surface form: LLVM community
MemorySanitizer developedBy LLVM
this entity surface form: LLVM project
MemorySanitizer basedOn LLVM
DataFlowSanitizer developedBy LLVM
this entity surface form: LLVM project
DataFlowSanitizer integratedInto LLVM
this entity surface form: LLVM compiler toolchain
SanitizerCoverage implementedIn LLVM
this entity surface form: LLVM compiler infrastructure
SanitizerCoverage commonlyUsedWith LLVM
this entity surface form: libFuzzer
clangd basedOn LLVM
clangd partOf LLVM
this entity surface form: LLVM project
clangd hostProject LLVM
clangd maintainer LLVM
this entity surface form: LLVM community
clang static analyzer developedBy LLVM
subject surface form: Clang Static Analyzer
this entity surface form: LLVM Project
clang static analyzer basedOn LLVM
subject surface form: Clang Static Analyzer
clang static analyzer partOf LLVM
subject surface form: Clang Static Analyzer
clang static analyzer maintainedBy LLVM
subject surface form: Clang Static Analyzer
this entity surface form: LLVM community
llvm-mc partOf LLVM
this entity surface form: LLVM project
llvm-mc partOf LLVM
this entity surface form: LLVM toolchain
llvm-mc developer LLVM
this entity surface form: LLVM Project
llvm-ar partOf LLVM
this entity surface form: LLVM project
llvm-ar developedBy LLVM
this entity surface form: LLVM project
llvm-ar includedIn LLVM
this entity surface form: LLVM binary utilities
llvm-objdump partOf LLVM
this entity surface form: LLVM project
llvm-objdump providedBy LLVM
this entity surface form: LLVM binary utilities
FileCheck partOf LLVM
this entity surface form: LLVM project
FileCheck developedBy LLVM
this entity surface form: LLVM community
LLDB-MI (historical) partOf LLVM
this entity surface form: LLVM project
LLDB-MI (historical) developedBy LLVM
this entity surface form: LLVM community