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

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


Branch: CURRENT, Version: 8.0.0, Package name: llvm-8.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 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.


Required to run:
[textproc/libxml2]

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

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

Master sites:

SHA1: 0689345d73911e24a07b24cc82dab4fb46b8c323
RMD160: a0740d83ae981506ddb7cfd389cafc52b7f317b2
Filesize: 29788.801 KB

Version history: (Expand)


CVS history: (Expand)


   2019-06-04 12:22:17 by Jonathan Perkin | Files touched by this commit (3)
Log message:
llvm: Fix build on SunOS.
   2019-06-02 11:48:29 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
llvm: add WebAssembly to LLVM_TARGETS
   2019-06-02 10:35:56 by Adam Ciarcinski | Files touched by this commit (28) | Package updated
Log message:
llvm: updated to 8.0.0

8.0.0:
Non-comprehensive list of changes in this release
* The llvm-cov tool can now export lcov trace files using the -format=lcov \ 
option of the export command.
* The add_llvm_loadable_module CMake macro has been removed. The \ 
add_llvm_library macro with the MODULE argument now provides the same \ 
functionality. See Writing an LLVM Pass.
* For MinGW, references to data variables that might need to be imported from a \ 
dll are accessed via a stub, to allow the linker to convert it to a dllimport if \ 
needed.
* Added support for labels as offsets in .reloc directive.
* Support for precise identification of X86 instructions with memory operands, \ 
by using debug information. This supports profile-driven cache prefetching. It \ 
is enabled with the -x86-discriminate-memops LLVM Flag.
* Support for profile-driven software cache prefetching on X86. This is part of \ 
a larger system, consisting of: an offline cache prefetches recommender, AutoFDO \ 
tooling, and LLVM. In this system, a binary compiled with \ 
-x86-discriminate-memops is run under the observation of the recommender. The \ 
recommender identifies certain memory access instructions by their binary file \ 
address, and recommends a prefetch of a specific type (NTA, T0, etc) be \ 
performed at a specified fixed offset from such an instruction’s memory \ 
operand. Next, this information needs to be converted to the AutoFDO syntax and \ 
the resulting profile may be passed back to the compiler with the LLVM flag \ 
-prefetch-hints-file, together with the exact same set of compilation parameters \ 
used for the original binary. More information is available in the RFC.
* Windows support for libFuzzer (x86_64).
   2019-04-25 09:33:32 by Maya Rashish | Files touched by this commit (620)
Log message:
PKGREVISION bump for anything using python without a PYPKGPREFIX.

This is a semi-manual PKGREVISION bump.
   2019-02-18 17:56:40 by Min Sik Kim | Files touched by this commit (1) | Package updated
Log message:
Bump PKGREVISION for PLIST change

This should have been done when Lanai was added to the default target
list.
   2019-01-27 22:11:07 by Tobias Nygren | Files touched by this commit (2)
Log message:
llvm/DESCR: reword statements that are no longer true
   2019-01-27 07:43:21 by Maya Rashish | Files touched by this commit (1)
Log message:
llvm: add missing PLIST entries for Lanai target.

Follow-up to https://mail-index.netbsd.org/pkgsrc-ch … 86624.html
   2019-01-27 00:47:43 by Tobias Nygren | Files touched by this commit (1)
Log message:
sync target list