macOS
brew install llvmlocal Homebrew formula metadata
brew
Next-gen compiler infrastructure. Version 22.1.8 via Homebrew; verified 2026-06-25.
install
brew install llvmlocal Homebrew formula metadata
sudo apk add llvmAlpine Linux edge package indexes · llvm · source: dl-cdn.alpinelinux.org
sudo apt install llvmDebian stable package indexes · llvm · source: deb.debian.org
sudo dnf install clangFedora Rawhide package metadata · clang · source: dl.fedoraproject.org
nix profile install nixpkgs#llvmnixpkgs package indexes · llvm · source: raw.githubusercontent.com
sudo pacman -S llvmArch Linux sync databases · llvm · source: geo.mirror.pkgbuild.com
sudo zypper install clangopenSUSE Tumbleweed package metadata · clang · source: download.opensuse.org
choco install llvmChocolatey community package catalog · llvm · source: community.chocolatey.org
scoop install main/llvmScoop official bucket manifest trees · bucket/llvm.json · source: api.github.com
winget install --id LLVM.LLVM -eWindows Package Manager source index · LLVM.LLVM · source: cdn.winget.microsoft.com
overview
Next-gen compiler infrastructure
history
LLVM is a modular compiler and toolchain infrastructure project packaged by Homebrew as the current llvm formula. It includes the LLVM core libraries and command-line tools, the Clang compiler frontend, LLDB debugger, LLD linker, libc++, MLIR tooling, and many smaller developer utilities.
LLVM began as a University of Illinois research project to provide a modern SSA-based compilation strategy for static and dynamic languages. The official LLVM homepage describes the project as a collection of modular and reusable compiler and toolchain technologies, with LLVM now functioning as a project name rather than an acronym for a virtual machine.
The project grew from core optimizer and code-generation libraries into an umbrella project. The official overview lists major subprojects such as Clang for C-family languages, LLDB for native debugging, LLD for linking, libc++ for the C++ standard library, Flang for Fortran, and MLIR infrastructure for compiler construction. The GitHub README describes the repository as source for compilers, optimizers, and run-time environments.
LLVM became a package-manager staple because it is both an end-user toolchain and a dependency for other language runtimes, build systems, static analyzers, editor integrations, and cross-compilation stacks. The official homepage notes production use by commercial and open-source projects and continued academic use, which matches the broad package-manager coverage shown in the input metadata.
For Homebrew users, llvm is often installed to obtain a newer clang than Apple's system compiler, a full llvm-config and library stack, up-to-date linker and object-file tools, clang-format, clang-tidy, clangd, lldb, and architecture-specific utilities. Versioned Homebrew formulae such as llvm@14 through llvm@17 exist because downstream projects frequently need a stable ABI, code-generation behavior, or plugin API tied to a specific LLVM major release.
Users install llvm to compile C, C++, Objective-C, and other LLVM-backed languages; run optimizer and code-generation tools such as opt and llc; inspect and transform object files with llvm-objdump, llvm-nm, llvm-ar, and llvm-strip; debug with lldb; format and analyze C-family source with clang-format, clang-tidy, and clangd; and build other packages that need llvm-config or LLVM libraries.
The package is also a build dependency for projects that embed LLVM as a library, generate LLVM IR, ship compiler plugins, or need MLIR and TableGen tooling. In package-manager culture, llvm is less a single command than a large toolchain substrate whose installed prefix can change the behavior of many builds.
LLVM is one of the most consequential developer-tool packages in Unix package managers: it provides compilers, linkers, debuggers, binary utilities, formatters, language servers, and libraries that other packages compile against. Its formula is watched closely because a major LLVM bump can reveal C++ standard-library issues, linker changes, sanitizer behavior changes, and downstream projects that accidentally depended on private compiler internals.
The package is also historically important because it displaced the idea that a system compiler was a monolith. LLVM's reusable libraries let package ecosystems build many language frontends, analyzers, and toolchain experiments on common optimizer and code-generation components.
security posture
compiler and toolchain runtime.
yellow risk · high confidence · runtime
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
FileCheck | cli | global executable | |
UnicodeNameMappingGenerator | cli | global executable | |
amdgpu-arch | cli | global executable | |
analyze-build | cli | global executable | |
bugpoint | cli | global executable | |
clang | cli | global executable | |
clang++ | cli | global executable | |
clang-22 | cli | global executable | |
clang-apply-replacements | cli | global executable | |
clang-change-namespace | cli | global executable | |
clang-check | cli | global executable | |
clang-cl | cli | global executable | |
clang-cpp | cli | global executable | |
clang-doc | cli | global executable | |
clang-extdef-mapping | cli | global executable | |
clang-include-cleaner | cli | global executable | |
clang-include-fixer | cli | global executable | |
clang-installapi | cli | global executable | |
clang-linker-wrapper | cli | global executable | |
clang-move | cli | global executable | |
clang-nvlink-wrapper | cli | global executable | |
clang-offload-bundler | cli | global executable | |
clang-offload-packager | cli | global executable | |
clang-query | cli | global executable | |
clang-refactor | cli | global executable | |
clang-reorder-fields | cli | global executable | |
clang-repl | cli | global executable | |
clang-scan-deps | cli | global executable | |
clang-sycl-linker | cli | global executable | |
clang-tblgen | cli | global executable | |
clang-tidy | cli | global executable | |
clangd | cli | global executable | |
count | cli | global executable | |
diagtool | cli | global executable | |
dsymutil | cli | global executable | |
find-all-symbols | cli | global executable | |
hmaptool | cli | global executable | |
intercept-build | cli | global executable | |
llc | cli | global executable | |
lldb | cli | global executable | |
lldb-argdumper | cli | global executable | |
lldb-dap | cli | global executable | |
lldb-instr | cli | global executable | |
lldb-mcp | cli | global executable | |
lldb-server | cli | global executable | |
lldb-tblgen | cli | global executable | |
lli | cli | global executable | |
lli-child-target | cli | global executable | |
llvm-PerfectShuffle | cli | global executable | |
llvm-addr2line | cli | global executable | |
llvm-ar | cli | global executable | |
llvm-as | cli | global executable | |
llvm-bcanalyzer | cli | global executable | |
llvm-bitcode-strip | cli | global executable | |
llvm-c-test | cli | global executable | |
llvm-cas | cli | global executable | |
llvm-cat | cli | global executable | |
llvm-cfi-verify | cli | global executable | |
llvm-cgdata | cli | global executable | |
llvm-config | cli | global executable | |
llvm-cov | cli | global executable | |
llvm-ctxprof-util | cli | global executable | |
llvm-cvtres | cli | global executable | |
llvm-cxxdump | cli | global executable | |
llvm-cxxfilt | cli | global executable | |
llvm-cxxmap | cli | global executable | |
llvm-debuginfo-analyzer | cli | global executable | |
llvm-debuginfod | cli | global executable | |
llvm-debuginfod-find | cli | global executable | |
llvm-diff | cli | global executable | |
llvm-dis | cli | global executable | |
llvm-dlltool | cli | global executable | |
llvm-dwarfdump | cli | global executable | |
llvm-dwarfutil | cli | global executable | |
llvm-dwp | cli | global executable | |
llvm-exegesis | cli | global executable | |
llvm-extract | cli | global executable | |
llvm-gsymutil | cli | global executable | |
llvm-ifs | cli | global executable | |
llvm-install-name-tool | cli | global executable | |
llvm-ir2vec | cli | global executable | |
llvm-jitlink | cli | global executable | |
llvm-jitlink-executor | cli | global executable | |
llvm-lib | cli | global executable | |
llvm-libtool-darwin | cli | global executable | |
llvm-link | cli | global executable | |
llvm-lipo | cli | global executable | |
llvm-lto | cli | global executable | |
llvm-lto2 | cli | global executable | |
llvm-mc | cli | global executable | |
llvm-mca | cli | global executable | |
llvm-ml | cli | global executable | |
llvm-ml64 | cli | global executable | |
llvm-modextract | cli | global executable | |
llvm-nm | cli | global executable | |
llvm-objcopy | cli | global executable | |
llvm-objdump | cli | global executable | |
llvm-offload-binary | cli | global executable | |
llvm-offload-wrapper | cli | global executable | |
llvm-opt-report | cli | global executable | |
llvm-otool | cli | global executable | |
llvm-pdbutil | cli | global executable | |
llvm-profdata | cli | global executable | |
llvm-profgen | cli | global executable | |
llvm-ranlib | cli | global executable | |
llvm-rc | cli | global executable | |
llvm-readelf | cli | global executable | |
llvm-readobj | cli | global executable | |
llvm-readtapi | cli | global executable | |
llvm-reduce | cli | global executable | |
llvm-remarkutil | cli | global executable | |
llvm-rtdyld | cli | global executable | |
llvm-sim | cli | global executable | |
llvm-size | cli | global executable | |
llvm-split | cli | global executable | |
llvm-stress | cli | global executable | |
llvm-strings | cli | global executable | |
llvm-strip | cli | global executable | |
llvm-symbolizer | cli | global executable | |
llvm-tblgen | cli | global executable | |
llvm-test-mustache-spec | cli | global executable | |
llvm-tli-checker | cli | global executable | |
llvm-undname | cli | global executable | |
llvm-windres | cli | global executable | |
llvm-xray | cli | global executable | |
mlir-cat | cli | global executable | |
mlir-linalg-ods-yaml-gen | cli | global executable | |
mlir-lsp-server | cli | global executable | |
mlir-minimal-opt | cli | global executable | |
mlir-minimal-opt-canonicalize | cli | global executable | |
mlir-opt | cli | global executable | |
mlir-pdll | cli | global executable | |
mlir-pdll-lsp-server | cli | global executable | |
mlir-query | cli | global executable | |
mlir-reduce | cli | global executable | |
mlir-rewrite | cli | global executable | |
mlir-runner | cli | global executable | |
mlir-tblgen | cli | global executable | |
mlir-transform-opt | cli | global executable | |
mlir-translate | cli | global executable | |
modularize | cli | global executable | |
not | cli | global executable | |
nvptx-arch | cli | global executable | |
obj2yaml | cli | global executable | |
offload-arch | cli | global executable | |
opt | cli | global executable | |
pp-trace | cli | global executable | |
reduce-chunk-list | cli | global executable | |
run-clang-tidy | cli | global executable | |
sancov | cli | global executable | |
sanstats | cli | global executable | |
scan-build | cli | global executable | |
scan-build-py | cli | global executable | |
scan-view | cli | global executable | |
split-file | cli | global executable | |
tblgen-lsp-server | cli | global executable | |
tblgen-to-irdl | cli | global executable | |
verify-uselistorder | cli | global executable | |
yaml-bench | cli | global executable | |
yaml2macho-core | cli | global executable | |
yaml2obj | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/llvm/llvm-project
install metadata
| Package key | brew:llvm |
|---|---|
| Version | 22.1.8 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/llvm |
| Homepage | https://llvm.org/ |
| Repository | https://github.com/llvm/llvm-project |
| Upstream docs | https://llvm.org/docs |
| License | Apache-2.0 WITH LLVM-exception |
| Source archive | https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.8/llvm-project-22.1.8.src.tar.xz |
| Last updated | 2026-06-25T13:37:48+02:00 |
| Pulse | updated |
| Dependencies | python@3.14, xz, z3, zstd |
| Build dependencies | cmake, ninja, swig |
| Uses from macOS | libedit, libffi, ncurses |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | defined |
| Service | none declared |
| Caveats | CLANG_CONFIG_FILE_SYSTEM_DIR: $HOMEBREW_PREFIX/etc/clang CLANG_CONFIG_FILE_USER_DIR: ~/.config/clang LLD is now provided in a separate formula: brew install lld Using `clang`, `clang++`, etc., requires a CLT installation at `/Library/Developer/CommandLineTools`. If you don't want to install the CLT, you can write appropriate configuration files pointing to your SDK at ~/.config/clang. To use the bundled libunwind please use the following LDFLAGS: LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm/lib/unwind -lunwind" To use the bundled libc++ please use the following LDFLAGS: LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm/lib/c++ -L$HOMEBREW_PREFIX/opt/llvm/lib/unwind -lunwind" Features newer than system libc++ will require the following define to enable (support for this may be removed in a future major LLVM release): CPPFLAGS="-D_LIBCPP_DISABLE_AVAILABILITY" NOTE: You probably want to use the libunwind and libc++ provided by macOS unless you know what you're doing. |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | llvm |
| Aliases |
|
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | yes |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
llvm 1:19.0-63
Modular compiler and toolchain technologies
sudo apt install llvmllvm
nix profile install nixpkgs#llvmllvm 1:18.0-59~exp2
Low-Level Virtual Machine (LLVM)
sudo apt install llvmllvm 22-r0
Low Level Virtual Machine compiler system, default version.
sudo apk add llvmllvm-dev 22-r0
Low Level Virtual Machine compiler system, default version.
sudo apk add llvm-devllvm-gtest 22-r0
LLVM default gtest static libraries
sudo apk add llvm-gtestllvm-libs 22-r0
LLVM 22 runtime library
sudo apk add llvm-libsllvm-linker-tools 22-r0
Low Level Virtual Machine compiler system, default version. (linker plugins)
sudo apk add llvm-linker-toolsllvm-static 22-r0
LLVM 22 static libraries
sudo apk add llvm-staticllvm-test-utils 22-r0
LLVM utilities for executing LLVM and Clang style test suites
sudo apk add llvm-test-utilsclang 22.1.7-1.fc45
A C language family front-end for LLVM
sudo dnf install clangclang-analyzer 22.1.7-1.fc45
A source code analysis framework
sudo dnf install clang-analyzerclang-devel 22.1.7-1.fc45
Development header files for clang
sudo dnf install clang-develclang-libs 22.1.7-1.fc45
Runtime library for clang
sudo dnf install clang-libsclang-resource-filesystem 22.1.7-1.fc45
Filesystem package that owns the clang resource directory
sudo dnf install clang-resource-filesystemclang-tools-extra 22.1.7-1.fc45
Extra tools for clang
sudo dnf install clang-tools-extrasource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.