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

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


Branch: CURRENT, Version: 8.0.1nb1, Package name: llvm-8.0.1nb1, 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/gcc5] [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: 09964f9eabc364f221a3caefbdaea28557273b4a
RMD160: 6cedbb2b11ec5a4bba3d1b974fb3165a44f762c0
Filesize: 29763.289 KB

Version history: (Expand)


CVS history: (Expand)


   2019-09-28 08:35:28 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
llvm: remove unnecessary patch (DragonFly support is already there)
   2019-09-09 12:53:23 by Maya Rashish | Files touched by this commit (1)
Log message:
llvm: bump GCC_REQD. configure will fail with GCC < 5.1.
   2019-08-22 16:49:25 by Nia Alarie | Files touched by this commit (1)
Log message:
llvm: Enable RTTI. Needed for MesaLib-19.
   2019-08-05 21:06:50 by Adam Ciarcinski | Files touched by this commit (23) | Package updated
Log message:
llvm: updated to 8.0.1

LLVM 8.0.1 is now available! Download it now, or read the release notes.

This release contains bug-fixes for the LLVM 8.0.0 release. This
release is API and ABI compatible with 8.0.0.
   2019-06-17 18:35:44 by Adam Ciarcinski | Files touched by this commit (6)
Log message:
openmp: added version 8.0.0

The OpenMP subproject of LLVM contains the components required to build an
executable OpenMP program that are outside the compiler itself.

Here you can find the code for the runtime library against which code compiled
by clang -fopenmp must be linked before it can run.
   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).