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)
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/ ⓘ |
Referenced by (113)
Full triples — surface form annotated when it differs from this entity's canonical label.
subject surface form:
Swift (programming language)
subject surface form:
Unity
this entity surface form:
IL2CPP
this entity surface form:
LLVM/Clang for RISC-V
this entity surface form:
LLVM Core libraries
this entity surface form:
LLVM Intermediate Representation
this entity surface form:
libLLVM
this entity surface form:
llvm-as assembler
this entity surface form:
llvm-dis disassembler
this entity surface form:
UndefinedBehaviorSanitizer
this entity surface form:
libFuzzer
this entity surface form:
llvm-nm
this entity surface form:
llvm-readobj
this entity surface form:
LLVM IR
this entity surface form:
LLVM community
this entity surface form:
LLVM compiler infrastructure
this entity surface form:
LLVM project
this entity surface form:
LLVM project
this entity surface form:
LLVM core
this entity surface form:
LLVM Project
this entity surface form:
LLVM Project
subject surface form:
Clang-Tidy
this entity surface form:
LLVM Project
subject surface form:
Clang-Tidy
this entity surface form:
LLVM libraries
subject surface form:
Clang-Tidy
this entity surface form:
LLVM project
subject surface form:
Clang-Tidy
this entity surface form:
llvm
this entity surface form:
LLVM project
this entity surface form:
LLVM community
subject surface form:
libclang
this entity surface form:
LLVM project
subject surface form:
libclang
this entity surface form:
LLVM project
subject surface form:
libclang
this entity surface form:
LLVM project
this entity surface form:
LLVM compiler infrastructure