Commit graph

11 commits

Author SHA1 Message Date
gdt
8a3ef7b3f8 libLLVM: Revert update to 5.0.0
The update broke MesaLib, which blocks a vast number of packages.  In
the interest of stability heading towards 2017Q4, revert it, leaving
the issue of how to handle updates to this package (how much testing
is required, keeping multiple versions, etc.) to after the branch.
2017-12-08 02:14:44 +00:00
adam
57ac13a628 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-12-01 19:22:12 +00:00
adam
60b9132584 LLVM 4.0.0:
The minimum compiler version required for building LLVM has been raised to 4.8 for GCC and 2015 for Visual Studio.
The C API functions LLVMAddFunctionAttr, LLVMGetFunctionAttr, LLVMRemoveFunctionAttr, LLVMAddAttribute, LLVMRemoveAttribute, LLVMGetAttribute, LLVMAddInstrAttribute and LLVMRemoveInstrAttribute have been removed.
The C API enum LLVMAttribute has been deleted.
The definition and uses of LLVM_ATRIBUTE_UNUSED_RESULT in the LLVM source were replaced with LLVM_NODISCARD, which matches the C++17 [[nodiscard]] semantics rather than gcc’s __attribute__((warn_unused_result)).
The Timer related APIs now expect a Name and Description. When upgrading code the previously used names should become descriptions and a short name in the style of a programming language identifier should be added.
LLVM now handles invariant.group across different basic blocks, which makes it possible to devirtualize virtual calls inside loops.
The aggressive dead code elimination phase (“adce”) now removes branches which do not effect program behavior. Loops are retained by default since they may be infinite but these can also be removed with LLVM option -adce-remove-loops when the loop body otherwise has no live operations.
The llvm-cov tool can now export coverage data as json. Its html output mode has also improved.
2017-03-17 22:38:17 +00:00
ryoon
861be02d4d Update llvm packages to 3.9.0
* Drop CppBackend. It is removed.

Changelog:
* GCC ABI Tag
* LLVM IR: new intrinsics etc.
* Change LLVM IPO model
* Support ThinLTO
* Improve the ARM targets, ARMv8.2-A support etc.
* Improve the MIPS targets
* Improve the PowerPC target, default optim O3 to O2
* Improve the X86 target, SKylake AVX-512 etc.
* Improve the AMDGPU, better support for Mesa 12
2016-11-14 20:15:32 +00:00
tnn
80db3a24d8 fix wrong llvm-config --libs output. Should return -lLLVM-3.8. Bump. 2016-03-17 02:53:59 +00:00
tnn
c27a6e413e remove mentions of release candidate 2016-03-08 21:50:29 +00:00
tnn
2e37a0fa27 update to libLLVM-3.8.0
Decouple the package from lang/clang that so it can be maintained
and updated independently.

This switches the build framework from autoconf to cmake.
There are no significant changes to the AMDGPU target mentioned in
the release notes. Other changes are not relevant to mention here since
mesa is the only user of this package in pkgsrc proper.
2016-03-08 21:06:50 +00:00
tnn
272746bd4b Update to clang-3.7.0 and libLLVM-3.7.0
Compacted version of upstream's release notes:

The LLVM C API LLVMGetTargetMachineData is deprecated
DataLayout is no longer optional
Comdats are now ortogonal to the linkage
On ELF now supports multiple sections with the same name and comdat
LLVM now lazily loads metadata in some cases
Creating archives with IR files with debug info is now 25X faster
llvm-ar(1) can create archives in the BSD format used by OS X
LLVM received a backend for the extended Berkely Packet Filter instruction set
The BPF target is now available by default
Switch-case lowering was rewritten to avoid generating unbalanced search trees
The debug info IR class hierarchy now inherits from Metadata
Argument-less TargetMachine::getSubtarget has been removed from the tree
2015-09-26 08:42:19 +00:00
adam
3f186447e0 Changes 3.6.1:
* Support for AuroraUX has been removed.
* Added support for a native object file-based bitcode wrapper format.
* Added support for MSVC’s __vectorcall calling convention as x86_vectorcallcc.
* Prefix data rework
* Metadata is not a Value
* Alias syntax change
* The old JIT has been removed
* object::Binary doesn’t own the file buffer
* IR in object files is now supported
* The gold plugin has been rewritten
2015-05-28 13:25:59 +00:00
tnn
8d49bf7da9 Teach the llvm shared library build rules about NetBSD so we get a single
shlib with whole-archive like on other platforms. Bump revision and bl3.
2015-04-06 17:25:05 +00:00
tnn
f6c61b854b Import libLLVM-3.6.0 as lang/libLLVM.
This package contains the LLVM core shared libraries intended to be usable by
packages built on an otherwise GCC-built system.
2015-03-04 19:33:09 +00:00