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

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


Branch: CURRENT, Version: 5.0.2, Package name: llvm-5.0.2, 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: 576d005305335049b89608d897d7ec184d99c6e1
RMD160: b2083bf510d806fd2d7601905f2bf5c03f4de2b8
Filesize: 22902.215 KB

Version history: (Expand)


CVS history: (Expand)


   2018-05-22 14:39:23 by Adam Ciarcinski | Files touched by this commit (10) | Package updated
Log message:
llvm: updated to 5.0.2

5.0.2:
Bug fix release.
   2018-03-31 17:13:28 by Havard Eidnes | Files touched by this commit (3) | Package updated
Log message:
Omit check for native 8-byte atomics, platform may not have them,
and they are actually not required here.  Makes powerpc build llvm.
OK'ed by joerg@.
Bump PKGREVISION.
   2018-03-04 02:49:21 by Greg Troxel | Files touched by this commit (1) | Package updated
Log message:
llvm: REmove libLLVM from list of packages to be updated

libLLVM has a different versioning scheme, to accomodate depending
packages that typically do not work with updated libLLVM.
   2018-01-08 11:48:34 by Jonathan Perkin | Files touched by this commit (4) | Package updated
Log message:
llvm: Change how sys/regset.h workaround is implemented.

Previously a special override header was used via an additional include path,
but this extra include path was not exported to llvm-config so while llvm was
ok, dependencies wouldn't find the header and fail.

Instead just pull the changes directly inline into DataTypes.h so that they
are available everywhere.  Fixes the clang build on SunOS.  Bump PKGREVISION.
   2018-01-07 14:04:44 by Roland Illig | Files touched by this commit (583)
Log message:
Fix indentation in buildlink3.mk files.

The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.

There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
   2017-12-30 11:39:25 by Adam Ciarcinski | Files touched by this commit (14) | Package updated
Log message:
llvm: updated to 5.0.1

LLVM 5.0.1:
This release contains bug-fixes for the LLVM 5.0.0 release. This
release is API and ABI compatible with 5.0.0.
   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.