./lang/llvm, Low Level Virtual Machine compiler infrastructure

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 5.0.0, Package name: llvm-5.0.0, Maintainer: pkgsrc-users

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 a GCC-based 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, Alpha 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.


Required to build:
[lang/python27] [pkgtools/cwrappers]

Package options: llvm-target-aarch64, llvm-target-amdgpu, llvm-target-arm, llvm-target-bpf, llvm-target-hexagon, llvm-target-mips, llvm-target-msp430, llvm-target-nvptx, llvm-target-powerpc, llvm-target-sparc, llvm-target-systemz, llvm-target-x86, llvm-target-xcore, terminfo

Master sites:

SHA1: 7b0fd212ecc38461e392cbdcbe6a1d4944138a04
RMD160: 849075e32e6aa5e38c2e9a7108803e745c0ed0fc
Filesize: 22863.262 KB

Version history: (Expand)


CVS history: (Expand)


   2017-12-01 20:22:13 by Adam Ciarcinski | Files touched by this commit (34) | Package updated
Log message:
llvm: updated to 5.0.0

5.0.0:
Non-comprehensive list of changes in this release
* LLVM’s WeakVH has been renamed to WeakTrackingVH and a new WeakVH has been \ 
introduced. The new WeakVH nulls itself out on deletion, but does not track \ 
values across RAUW.
* A new library named BinaryFormat has been created which holds a collection of \ 
code which previously lived in Support. This includes the file_magic structure \ 
and identify_magic functions, as well as all the structure and type definitions \ 
for DWARF, ELF, COFF, WASM, and MachO file formats.
* The tool llvm-pdbdump has been renamed llvm-pdbutil to better reflect its \ 
nature as a general purpose PDB manipulation / diagnostics tool that does more \ 
than just dumping contents.
* The BBVectorize pass has been removed. It was fully replaced and no longer \ 
used back in 2014 but we didn’t get around to removing it. Now it is gone. The \ 
SLP vectorizer is the suggested non-loop vectorization pass.
* A new tool opt-viewer.py has been added to visualize optimization remarks in \ 
HTML. The tool processes the YAML files produced by clang with the \ 
-fsave-optimization-record option.
* A new CMake macro LLVM_REVERSE_ITERATION has been added. If enabled, all \ 
supported unordered LLVM containers would be iterated in reverse order. This is \ 
useful for uncovering non-determinism caused by iteration of unordered \ 
containers. Currently, it supports reverse iteration of SmallPtrSet and \ 
DenseMap.
* A new tool llvm-dlltool has been added to create short import libraries from \ 
GNU style definition files. The tool utilizes the PE COFF SPEC Import Library \ 
Format and PE COFF Auxiliary Weak Externals Format to achieve compatibility with \ 
LLD and MSVC LINK.
   2017-09-30 06:38:09 by Ryo ONODERA | Files touched by this commit (3) | Package updated
Log message:
Do not return -ltinfo from llvm-config --system-libs --link-static
under NetBSD. Bump PKGREVISION

Rust language 1.20.0 uses these options and Rust build system uses it
as '-l tinfo' and our wrapper does not handle this.
   2017-07-11 21:47:38 by Adam Ciarcinski | Files touched by this commit (15)
Log message:
Changes 4.0.1:
This is a bug-fix release.
   2017-06-01 15:30:26 by Johnny C. Lam | Files touched by this commit (21)
Log message:
Use public SHLIB_TYPE instead of private _OPSYS_SHLIB_TYPE.
   2017-05-19 16:59:23 by Joerg Sonnenberger | Files touched by this commit (1)
Log message:
Expand terminfo handling to depending packages. Fixes lang/clang.
   2017-05-09 14:23:42 by Jonathan Perkin | Files touched by this commit (2)
Log message:
Add a terminfo option and enable by default (and correctly pull terminfo in)
if terminfo is builtin, otherwise leave it as a user option to avoid possible
dependency issues.
   2017-05-06 01:13:05 by Kamil Rytarowski | Files touched by this commit (7) | Package updated
Log message:
Update buildlink3.mk with reality in LLVM projects
   2017-05-05 23:46:50 by Kamil Rytarowski | Files touched by this commit (1)
Log message:
Synchronize llvm/Makefile with pkgsrc-wip/llvm-git/Makefile

There shouldn't be functional change in produced binary package.