Apocrypha

llvm

Low Level Virtual Machine

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.

Available in

OverlayNewestEbuildsLast activity
gentoo gitweb ↗ 24.0.0_pre20260725 13 18 h details ›
lastrodamo Codeberg ↗ 16.0.6-r5 1 6 d details ›

Versions & arches

VersionOverlay amd64arm64x86ppc64riscvarmarm64-macosloongmipsppcsparcx64-macos Committed
24.0.0.9999 LIVE gentoo follows upstream — no keywords view · download · history ↗
24.0.0_pre20260725 gentoo amd64 untested arm64 untested x86 untested ppc64 untested riscv untested arm untested arm64-macos untested loong untested mips untested ppc untested sparc untested x64-macos untested view · download · history ↗
24.0.0_pre20260716 gentoo amd64 untested arm64 untested x86 untested ppc64 untested riscv untested arm untested arm64-macos untested loong untested mips untested ppc untested sparc untested x64-macos untested view · download · history ↗
23.1.0.9999 LIVE gentoo follows upstream — no keywords view · download · history ↗
23.1.0_pre20260724 gentoo amd64 untested arm64 untested x86 untested ppc64 untested riscv untested arm untested arm64-macos untested loong untested mips untested ppc untested sparc untested x64-macos untested view · download · history ↗
23.0.0_pre20260716 gentoo amd64 untested arm64 untested x86 untested ppc64 untested riscv untested arm untested arm64-macos untested loong untested mips untested ppc untested sparc untested x64-macos untested view · download · history ↗
23.0.0_pre20260707 gentoo amd64 untested arm64 untested x86 untested ppc64 untested riscv untested arm untested arm64-macos untested loong untested mips untested ppc untested sparc untested x64-macos untested view · download · history ↗
22.1.8 gentoo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable arm64-macos testing loong testing mips testing ppc stable sparc testing x64-macos testing view · download · history ↗
21.1.8 gentoo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable arm64-macos testing loong testing mips testing ppc stable sparc testing x64-macos testing view · download · history ↗
20.1.8 gentoo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable arm64-macos testing loong testing mips testing ppc stable sparc testing x64-macos testing view · download · history ↗
19.1.7 gentoo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable arm64-macos testing loong testing mips testing ppc stable sparc testing x64-macos testing view · download · history ↗
18.1.8-r6 gentoo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable arm64-macos testing loong testing mips testing ppc stable sparc testing x64-macos testing view · download · history ↗
17.0.6-r3 gentoo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable arm64-macos testing loong testing mips untested ppc stable sparc testing x64-macos testing view · download · history ↗
16.0.6-r5 lastrodamo amd64 stable arm64 stable x86 stable ppc64 stable riscv testing arm stable arm64-macos testing loong testing mips untested ppc stable sparc testing x64-macos testing 6 d view · download · history ↗

Use flags of 24.0.0_pre20260725

  • +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
  • 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
  • test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
  • xml Add support for XML files
  • z3 Enable support for sci-mathematics/z3 constraint solver
  • zstd Enable support for ZSTD compression
  • llvm_targets_AArch64
  • llvm_targets_AMDGPU
  • llvm_targets_ARM
  • llvm_targets_AVR
  • llvm_targets_BPF
  • llvm_targets_Hexagon
  • llvm_targets_Lanai
  • llvm_targets_LoongArch
  • llvm_targets_Mips
  • llvm_targets_MSP430
  • llvm_targets_NVPTX
  • llvm_targets_PowerPC
  • llvm_targets_RISCV
  • llvm_targets_Sparc
  • llvm_targets_SPIRV
  • llvm_targets_SystemZ
  • llvm_targets_VE
  • llvm_targets_WebAssembly
  • llvm_targets_X86
  • llvm_targets_XCore
  • llvm_targets_ARC
  • llvm_targets_CSKY
  • llvm_targets_DirectX
  • llvm_targets_M68k
  • llvm_targets_Xtensa
8 expansion flags (python targets, ABIs, cpu flags…)
  • abi_x86_32
  • abi_x86_64
  • abi_x86_x32
  • abi_mips_n32
  • abi_mips_n64
  • abi_mips_o32
  • abi_s390_32
  • abi_s390_64

Runtime dependencies of 24.0.0_pre20260725

show 24 lines