llvm-core / llvm

Low Level Virtual Machine

Official package sites : https://llvm.org/ ·

Low Level Virtual Machine (LLVM) is: 1. A compilation strategy designed to enable effective program optimization across the entire lifetime of a program. LLVM supports effective optimization at compile time, link-time (particularly interprocedural), run-time and offline (i.e., after software is installed), while remaining transparent to developers and maintaining compatibility with existing build scripts. 2. A virtual instruction set - LLVM is a low-level object code representation that uses simple RISC-like instructions, but provides rich, language-independent, type information and dataflow (SSA) information about operands. This combination enables sophisticated transformations on object code, while remaining light-weight enough to be attached to the executable. This combination is key to allowing link-time, run-time, and offline transformations. 3. A compiler infrastructure - LLVM is also a collection of source code that implements the language and compilation strategy. The primary components of the LLVM infrastructure are a GCC-based C and C++ front-end, a link-time optimization framework with a growing set of global and interprocedural analyses and transformations, static back-ends for many popular (and some obscure) architectures, a back-end which emits portable C code, and a Just-In-Time compilers for several architectures. 4. LLVM does not imply things that you would expect from a high-level virtual machine. It does not require garbage collection or run-time code generation (In fact, LLVM makes a great static compiler!). Note that optional LLVM components can be used to build high-level virtual machines and other systems that need these services.

v20.0.0.9999 :: 20/20.0.0.9999 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test xml z3 zstd

v20.0.0_pre20250125 :: 20/20.0.0_pre20250125 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test xml z3 zstd

v20.0.0_pre20250122 :: 20/20.0.0_pre20250122 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test xml z3 zstd

v20.0.0_pre20250118 :: 20/20.0.0_pre20250118 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test xml z3 zstd

v20.0.0_pre20250111 :: 20/20.0.0_pre20250111 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test xml z3 zstd

v19.1.7 :: 19/19.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
Keywords
~amd64 ~amd64-linux ~arm ~arm64 ~arm64-macos ~loong ~mips ~ppc ~ppc-macos ~ppc64 ~riscv ~sparc ~x64-macos ~x86
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test verify-sig xml z3 zstd

v19.1.6 :: 19/19.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
Keywords
~amd64 ~amd64-linux ~arm ~arm64 ~arm64-macos ~loong ~mips ~ppc ~ppc-macos ~ppc64 ~riscv ~sparc ~x64-macos ~x86
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test verify-sig xml z3 zstd

v19.1.4 :: 19/19.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~mips ~ppc-macos ~riscv ~x64-macos
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi test verify-sig xml z3 zstd

v18.1.8-r6 :: 18/18.1 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~mips ~ppc-macos ~riscv ~x64-macos
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi ncurses test verify-sig xml z3 zstd

v17.0.6-r3 :: 17/17 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~ppc-macos ~riscv ~x64-macos
USE flags
binutils-plugin debug debuginfod doc exegesis libedit libffi ncurses test verify-sig xar xml z3 zstd

v16.0.6-r5 :: 16/16 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~arm64-macos ~loong ~ppc-macos ~riscv ~x64-macos
USE flags
binutils-plugin debug doc exegesis libedit libffi ncurses test verify-sig xar xml z3 zstd

v15.0.7-r7 :: 15/15 :: gentoo

Modified
License
Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc
Keywords
amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~ppc-macos ~riscv ~x64-macos
USE flags
binutils-plugin debug doc exegesis libedit libffi ncurses test verify-sig xar xml z3 zstd

General

binutils-plugin
Build the binutils plugin
debug
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
debug
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
debuginfod
Install llvm-debuginfod (requires net-misc/curl and dev-cpp/cpp-httplib)
doc
Build and install the HTML documentation and regenerate the man pages
exegesis
Enable performance counter support for llvm-exegesis tool that can be used to measure host machine instruction characteristics
libedit
Use the libedit library (replacement for readline)
libffi
Enable support for Foreign Function Interface library
ncurses
Support querying terminal properties using ncurses' terminfo
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
verify-sig
Verify upstream signatures on distfiles
xar
Support dumping LLVM bitcode sections in Mach-O files (uses app-arch/xar)
xml
Add support for XML files
z3
Enable support for sci-mathematics/z3 constraint solver
zstd
Enable support for ZSTD compression

abi_mips

n32
64-bit (32-bit pointer) libraries
n64
64-bit libraries
o32
32-bit libraries

abi_s390

32
32-bit (s390) libraries
64
64-bit (s390x) libraries

abi_x86

32
32-bit (x86) libraries
64
64-bit (amd64) libraries
x32
x32 ABI libraries

llvm_targets

AArch64
AArch64 CPU target (arm64 in Gentoo)
AMDGPU
AMDGPU target (supports R600 and GCN GPUs)
ARC
ARC (Argonaut RISC Core) embedded CPU target [EXPERIMENTAL]
ARM
ARM CPU target
AVR
8-bit Atmel AVR microcontroller target
BPF
Berkeley Packet Filter target
CSKY
C-SKY CPU target [EXPERIMENTAL]
DirectX
DirectX target [EXPERIMENTAL]
Hexagon
Qualcomm Hexagon DSP target
Lanai
Lanai CPU target
LoongArch
LoongArch CPU support [EXPERIMENTAL]
M68k
Motorola 68000 target [EXPERIMENTAL]
MSP430
MSP430 CPU target (experimental)
Mips
MIPS CPU target (includes MIPS64)
NVPTX
NVIDIA PTX (GPU) target (32-bit and 64-bit)
PowerPC
PowerPC CPU target (PPC32 and PPC64)
RISCV
RISC-V CPU target
SPIRV
Support SPIR-V language target for graphics and parallel computing
Sparc
Sparc CPU target
SystemZ
SystemZ (s390x) CPU target
VE
NEC SX-Aurora TSUBASA vector engine target
WebAssembly
WebAssembly backend
X86
X86 CPU target (includes amd64)
XCore
XCore CPU target
Xtensa
Tensilica Xtensa (ESP32) CPU target [EXPERIMENTAL]

app-arch / xar : An easily extensible archive format

app-arch / zstd : zstd fast compression library

dev-cpp / cpp-httplib : C++ HTTP/HTTPS server and client library

dev-libs / libedit : BSD replacement for libreadline

dev-libs / libffi : Portable, high level programming interface to various calling conventions

dev-libs / libpfm : Hardware-based performance monitoring interface for Linux

dev-libs / libxml2 : XML C parser and toolkit

net-misc / curl : A Client that groks URLs

sci-mathematics / z3 : An efficient theorem prover

sys-libs / binutils-libs : Core binutils libraries (libbfd, libopcodes, libiberty) for external packages

sys-libs / ncurses : Console display library

sys-libs / zlib : Standard (de)compression library

app-arch / xar : An easily extensible archive format

app-arch / zstd : zstd fast compression library

dev-cpp / cpp-httplib : C++ HTTP/HTTPS server and client library

dev-libs / libedit : BSD replacement for libreadline

dev-libs / libffi : Portable, high level programming interface to various calling conventions

dev-libs / libpfm : Hardware-based performance monitoring interface for Linux

dev-libs / libxml2 : XML C parser and toolkit

llvm-core / llvm : Low Level Virtual Machine

net-misc / curl : A Client that groks URLs

sci-mathematics / z3 : An efficient theorem prover

sys-libs / ncurses : Console display library

sys-libs / zlib : Standard (de)compression library

app-antivirus / clamav : Clam Anti-Virus Scanner

app-forensics / aflplusplus : Fork of AFL, the popular compile-time instrumentation fuzzer

app-text / doxygen : Documentation system for most programming languages

dev-db / postgresql : PostgreSQL RDBMS

dev-debug / bpftrace : High-level tracing language for eBPF

dev-debug / sysdig : A system exploration and troubleshooting tool

dev-lang / crystal : The Crystal Programming Language

dev-lang / ghc : The Glasgow Haskell Compiler

dev-lang / rust : Systems programming language from Mozilla

dev-lang / zig : A robust, optimal, and maintainable programming language

dev-libs / intel-vc-intrinsics : A set of new intrinsics on top of core LLVM IR instructions

dev-libs / opencl-clang : OpenCL-oriented thin wrapper library around clang

dev-libs / pocl : Portable Computing Language (an implementation of OpenCL)

dev-libs / roct-thunk-interface : Radeon Open Compute Thunk Interface

dev-lisp / c2ffi : Clang-based FFI wrapper generator for Common Lisp

dev-ml / llvm : OCaml bindings for LLVM

dev-ml / llvm : OCaml bindings for LLVM

dev-python / clang : Python bindings for llvm-core/clang

dev-python / pyside6 : Python bindings for the Qt framework

dev-python / pyside6-tools : PySide development tools (pyside6-lupdate with support for Python)

dev-python / shiboken6 : Python binding generator for C++ libraries

dev-qt / qt-creator : Lightweight IDE for C++/QML development centering around Qt

dev-qt / qttools : Qt Tools Collection

dev-util / bcc : Tools for BPF-based Linux IO analysis, networking, monitoring, and more

dev-util / bpftool : Tool for inspection and simple manipulation of eBPF programs and maps

dev-util / ccls : C/C++/ObjC language server

dev-util / clang-extract : Tool to extract code content from source files

dev-util / clazy : Compiler plugin which allows clang to understand Qt semantics

dev-util / cvise : Super-parallel Python port of the C-Reduce

dev-util / diffoscope : Will try to get to the bottom of what makes files or directories different

dev-util / hipcc : Radeon Open Compute hipcc

dev-util / hipify-clang : A set of tools to translate CUDA source code into portable HIP C++

dev-util / include-what-you-use : Find unused include directives in C/C++ programs

dev-util / intel-graphics-compiler : LLVM-based OpenCL compiler for OpenCL targetting Intel Gen graphics hardware

dev-util / intel_clc : intel_clc tool used for building OpenCL C to SPIR-V

dev-util / perf : Userland tools for Linux Performance Counters

dev-util / spirv-llvm-translator : Bi-directional translator between SPIR-V and LLVM IR

games-board / jja : swiss army knife for chess file formats

games-emulation / dolphin : Gamecube and Wii game emulator

llvm-core / clang : C language family frontend for LLVM

llvm-core / lld : The LLVM linker (link editor)

llvm-core / lldb : The LLVM debugger

llvm-core / llvm : Low Level Virtual Machine

llvm-core / llvm-common : Common files shared between multiple slots of LLVM

llvm-core / llvm-toolchain-symlinks : Symlinks to use LLVM on binutils-free system

llvm-core / llvmgold : LLVMgold plugin symlink for autoloading

llvm-core / llvmgold : LLVMgold plugin symlink for autoloading

llvm-core / mlir : Multi-Level Intermediate Representation (library only)

llvm-core / polly : Polyhedral optimizations for LLVM

llvm-runtimes / compiler-rt : Compiler runtime library for clang (built-in part)

llvm-runtimes / compiler-rt-sanitizers : Compiler runtime libraries for clang (sanitizers & xray)

llvm-runtimes / libcxx : New implementation of the C++ standard library, targeting C++11

llvm-runtimes / libcxxabi : Low level support for a standard C++ library

llvm-runtimes / libunwind : C++ runtime stack unwinder from LLVM

llvm-runtimes / offload : OpenMP offloading support

llvm-runtimes / openmp : OpenMP runtime library for LLVM/clang compiler

media-gfx / openvdb : Library for the efficient manipulation of volumetric data

media-libs / mesa : OpenGL-like graphic library for Linux

media-libs / oidn : Intel® Open Image Denoise library

media-libs / osl : Advanced shading language for production GI renderers

net-im / toxic : A curses-based client for Tox

sci-electronics / ghdl : Open-source analyzer, compiler, and simulator for VHDL 2008/93/87

sci-electronics / nvc : NVC is a VHDL compiler and simulator

sci-libs / symengine : Fast symbolic manipulation library, written in C++

sys-devel / sparse : C semantic parser

502318
llvm-core/llvm: pass --with-c-include-dirs on prefix
617776
llvm-core/llvm does not install ${CHOST}-prefixed tools
651658
dev-util/kdevelop:5 and media-libs/mesa-17*[llvm] link with different slots of llvm-core/llvm, resulting in a runtime symbol conflict and crash
662720
llvm-core/llvm: llvm-config being a binary breaks cross compilation of dependent packages
684872
llvm-runtimes/compiler-rt-8.0.0: configure fails with llvm-core/llvm[-gold]
690962
llvm-core/llvm-8.0.1[+xml +libffi +ncurses +abi_x86_{64,32} llvm_targets_{amdGPU,bpf,nvpx,x86}] : ninja -v -j6 -l0 failed
695646
media-libs/mesa-19.2.0_rc4 - libraries from llvm-core/llvm will be removed even if drivers in /usr/lib64/dri linking against them still exist
732920
llvm-core/llvm-10.0.0: 62 test failures on sparc
736856
llvm-core/llvm-10.0.1: Can't be built for Celeron N4100 (Gemini Lake)
738890
llvm-core/llvm: llvm-objdump does not recognize '-g' option (was: dev-util/ccache-3.7.11 fails tests)
763018
llvm-core/llvm-11.0.0: Host compiler appears to require libatomic, but cannot find it (macOS Big Sur, Clang bootstrap)
773556
llvm-core/llvm-11.0.1 fails tests when compiled with clang
779592
llvm-core/llvm-11.1.0 fails tests
838979
llvm-core/llvm-14.0.1 - /.../Signals.inc: error: backtrace was not declared in this scope
853070
llvm-core/llvm-14.0.5 - Could not import extension sphinx.builders.linkcheck (exception: No module named six)
880855
llvm-core/llvm-15.0.3: Segfault in llvm-tblgen building for x86_32 target on amd64
885795
llvm-core/llvm: build failure on PPC with >= sys-devel/gcc-11(?) with -fsanitize=undefined (Error: operand out of range)
900160
llvm-core/llvm: add MLIR support
904269
llvm-core/llvm-15.0.7 does not build on i686
906751
llvm-core/llvm-16.0.4 fails to build with crash
908433
llvm-core/llvm-15.0.7-r3 emerge can race with dev-db/unixODBC-2.3.11
909180
llvm-core/llvm-16.0.[56] fails loongarch tests
914531
llvm-core/lld-17: crashes when building llvm-core/llvm-16.0.6
914642
llvm-core/llvm-16.0.6 - [clang] clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
918869
llvm-core/llvm-16.0.6 - [clang] clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
919687
llvm-core/llvm-14.0.6-r4 - LLVM_ENABLE_Z3_SOLVER cannot be enabled
920550
llvm-core/llvm-17.0.6 fails tests on sparc
922519
llvm-core/llvm-15.0.7-r3 error: type ‘SubtargetFeatureBits’ violates the C++ One Definition Rule [-Werror=odr]
923889
llvm-core/llvm-15.0.7-r3 fails to compile: ld.lld: error: version script assignment of LLVM_15 to symbol LLVMCreateDisasm failed: symbol not defined
924509
llvm-core/llvm-17.0.6 fails to compile: ld: final link failed: memory exhausted
931656
llvm-core/llvm-18.1.5 Fails to emerge Using lld Under WSL 2
931996
llvm-core/llvm-18.1.5-r1 - clang -cc1as: fatal error: error in backend: ZMM registers are not supported without EVEX512
936545
llvm-core/llvm-17.0.6 test fail if LLVM_TARGETS : SPIRV
937395
llvm-core/llvm-16.0.6 - [icu-75.1] [gcc-15] /.../Allocator.h: error: class llvm::SmallVector<void , 4> has no member named begin
937779
llvm-core/llvm-15.0.7-r3 - [icu-75.1] [gcc-15] /.../raw_ostream.h: error: const class llvm::SmallVectorImpl<char> has no member named data
939504
llvm-core/llvm-15.0.7-r6 fails to compile: SmallVector.h:88:69: error: uint64_t was not declared in this scope
939738
llvm-core/llvm: 18.1.8-r1 fails to build on amd64-musl under WSL 2
939746
llvm-core/llvm-18.1.8-r1 fails to build on arm64 llvm musl profile
940654
llvm-core/llvm-19.1.1 fails to compile on ppc64le with sys-devel/gcc[ieee-long-double]: error: invalid conversion from ‘_Float128 (*)(_Float128) noexcept’ to ‘long double (*)(long double)’
940676
llvm-core/llvm: Multiple backports required for ppc64
944152
=llvm-core/llvm-19.1.4: failed to compile
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20250125 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20250122 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20250118 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 19.1.7
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20250111 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20250104 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20241227 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20241221 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Michał Górny · gentoo
llvm-core/llvm: Install LLVMCodeGenTypes for mlir-tblgen
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 19.1.6
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
llvm-core/llvm: Add 20.0.0_pre20241215 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Repository mirror & CI · gentoo
Merge updates from master
Michał Górny · gentoo
Rename dev-ml/{llvm-ocaml → llvm}
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Michał Górny · gentoo
Move {sys-devel → llvm-core}/llvm
Signed-off-by: Michał Górny <mgorny@gentoo.org>