lang/llvm - The NetBSD Packages Collection

Low Level Virtual Machine compiler infrastructure

Low Level Virtual Machine (LLVM) is:

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.

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.

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 the C & C++ front-end, a link-time optimization
framework with a growing set of global and interprocedural analyses and
transformations, static back-ends for the X86, X86-64, PowerPC 32/64, ARM,
Thumb, IA-64 and SPARC architectures, a back-end which emits portable C
code, and a Just-In-Time compiler for X86, X86-64, PowerPC 32/64 processors.

Build dependencies

lang/python310 lang/python310 devel/cmake pkgtools/cwrappers

Runtime dependencies

textproc/libxml2 textproc/libxml2

Binary packages

NetBSD 8.0earmv7hfllvm-12.0.1.tgz
NetBSD 8.0i386llvm-13.0.1.tgz
NetBSD 8.0i386llvm-13.0.1nb1.tgz
NetBSD 8.0powerpcllvm-12.0.1.tgz
NetBSD 8.0powerpcllvm-13.0.0nb2.tgz
NetBSD 8.0x86_64llvm-13.0.1nb1.tgz
NetBSD 8.0x86_64llvm-13.0.1.tgz
NetBSD 9.0aarch64llvm-13.0.1nb1.tgz
NetBSD 9.0aarch64llvm-13.0.1.tgz
NetBSD 9.0earmv6hfllvm-13.0.1nb1.tgz
NetBSD 9.0earmv6hfllvm-13.0.1.tgz
NetBSD 9.0earmv7hfllvm-13.0.1.tgz
NetBSD 9.0earmv7hfllvm-13.0.1nb1.tgz
NetBSD 9.0i386llvm-13.0.1nb1.tgz
NetBSD 9.0i386llvm-13.0.1.tgz
NetBSD 9.0i386llvm-13.0.1nb1.tgz
NetBSD 9.0mips64ebllvm-13.0.0nb2.tgz
NetBSD 9.0mips64ebllvm-13.0.1.tgz
NetBSD 9.0powerpcllvm-13.0.0nb2.tgz
NetBSD 9.0powerpcllvm-12.0.1.tgz
NetBSD 9.0sparc64llvm-13.0.0nb2.tgz
NetBSD 9.0sparc64llvm-13.0.1.tgz
NetBSD 9.0sparc64llvm-13.0.1nb1.tgz
NetBSD 9.0sparcllvm-12.0.1.tgz
NetBSD 9.0x86_64llvm-13.0.1nb1.tgz
NetBSD 9.0x86_64llvm-14.0.6.tgz
NetBSD 9.0x86_64llvm-13.0.1nb1.tgz
NetBSD 9.0x86_64llvm-13.0.1nb1.tgz
NetBSD 9.0x86_64llvm-13.0.1.tgz
NetBSD 9.0x86_64llvm-13.0.1.tgz
NetBSD 9.0x86_64llvm-13.0.1nb2.tgz
NetBSD 9.99.96aarch64ebllvm-13.0.1.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

Support code generation for 64-bit ARM CPUs.
Support code generation for AMD GPUs.
Support code generation for ARM CPUs.
Support code generation for MIPS CPUs.
Support code generation for PowerPC CPUs.
Support code generation for SPARC CPUs.
Support code generation for WebAssembly virtual machine.
Use terminfo.
Enable support for the Z3 theorem prover.

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.

Problem reports, updates or suggestions for this package should be reported with send-pr.