Commit graph

40 commits

Author SHA1 Message Date
nia
7c13719206 libLLVM: Enable RTTI, needed for newer MesaLib. 2019-08-22 17:49:01 +00:00
maya
f34a8c24a3 PKGREVISION bump for anything using python without a PYPKGPREFIX.
This is a semi-manual PKGREVISION bump.
2019-04-25 07:32:34 +00:00
tnn
de88f50393 libLLVM: Darwin rpath fix 2019-01-27 00:07:32 +00:00
tnn
dcef2e73e5 don't need libxml2 here 2019-01-26 23:03:53 +00:00
tnn
209f6d5064 regen distinfo for patch comments 2019-01-26 21:44:34 +00:00
tnn
d0725a0861 libLLVM: update to 7.0.1, adapted from lang/llvm 2019-01-26 21:17:20 +00:00
gdt
9bf0a8878c libLLVM: Note plan for this to stay at 4.0 2018-03-04 01:47:39 +00:00
gdt
2b2f68c97c libLLVM: Note that not updating from 4.0 is intentional 2018-03-04 01:46:37 +00:00
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
maya
dd4c0a7494 libLLVM: update to 4.0.1, a bugfix release. 2017-07-24 13:13:39 +00:00
jlam
000f312c98 Use public SHLIB_TYPE instead of private _OPSYS_SHLIB_TYPE. 2017-06-01 13:30:24 +00:00
jperkin
8398d8e6de 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-09 12:23:42 +00:00
kamil
53397f9859 Update buildlink3.mk with reality in LLVM projects 2017-05-05 23:13:05 +00:00
jperkin
6b547497bb Convert CXXFLAGS setting C++ standard to USE_LANGUAGES. 2017-05-03 08:38:38 +00:00
maya
d7c513e28d libLLVM: respect LDFLAGS
from Dr. Thomas Orgis via tech-pkg
2017-05-01 00:43:07 +00:00
maya
9009c397a8 libLLVM: use ln -sf, not ln -s. helps rebuilds, as the previous link
already exists
2017-04-10 19:49:59 +00:00
joerg
e1c2b87f25 Link llvm-lto2 and the other tools dynamically against libLLVM to avoid
the size penalty. The primary intention of this package is to provide a
standalone library for other consumers of LLVM and the size difference
doesn't justify the small performance penalty. Bump revision.
2017-03-24 11:43:52 +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
jperkin
5a54b7be2f Fix library build on SunOS. 2017-03-09 12:45:56 +00:00
brook
862279df75 Clean up definition of libtool on Darwin.
The previous commit ended up with two different specifications for libtool
on Darwin.  One was the OS-specific version of CMAKE_ARGS introduced in the
previous commit; the other was inside a conditional to detect Darwin introduced in the commit prior.  The former seems cleaner so it has been left.
2017-01-16 21:56:35 +00:00
brook
8f064fc680 Use the system-specific libtool on Darwin.
This fixes bugs relating to unrecognized libtool options on Darwin.
2017-01-16 17:26:47 +00:00
adam
a3ebdf18b6 Changes 3.9.1:
The LLVMContext gains a new runtime check (see LLVMContext::discardValueNames()) that can be set to discard Value names (other than GlobalValue). This is intended to be used in release builds by clients that are interested in saving CPU/memory as much as possible.
There is no longer a “global context” available in LLVM, except for the C API.
The autoconf build system has been removed in favor of CMake. LLVM 3.9 requires CMake 3.4.3 or later to build. For information about using CMake please see the documentation on Building LLVM with CMake. For information about the CMake language there is also a CMake Primer document available.
C API functions LLVMParseBitcode, LLVMParseBitcodeInContext, LLVMGetBitcodeModuleInContext and LLVMGetBitcodeModule having been removed. LLVMGetTargetMachineData has been removed (use LLVMGetDataLayout instead).
The C API function LLVMLinkModules has been removed.
The C API function LLVMAddTargetData has been removed.
The C API function LLVMGetDataLayout is deprecated in favor of LLVMGetDataLayoutStr.
The C API enum LLVMAttribute and associated API is deprecated in favor of the new LLVMAttributeRef API. The deprecated functions are LLVMAddFunctionAttr, LLVMAddTargetDependentFunctionAttr, LLVMRemoveFunctionAttr, LLVMGetFunctionAttr, LLVMAddAttribute, LLVMRemoveAttribute, LLVMGetAttribute, LLVMAddInstrAttribute, LLVMRemoveInstrAttribute and LLVMSetInstrParamAlignment.
TargetFrameLowering::eliminateCallFramePseudoInstr now returns an iterator to the next instruction instead of void. Targets that previously did MBB.erase(I); return; now probably want return MBB.erase(I);.
SelectionDAGISel::Select now returns void. Out-of-tree targets will need to be updated to replace the argument node and remove any dead nodes in cases where they currently return an SDNode * from this interface.
Added the MemorySSA analysis, which hopes to replace MemoryDependenceAnalysis. It should provide higher-quality results than MemDep, and be algorithmically faster than MemDep. Currently, GVNHoist (which is off by default) makes use of MemorySSA.
The minimum density for lowering switches with jump tables has been reduced from 40% to 10% for functions which are not marked optsize (that is, compiled with -Os).
2017-01-05 11:54:32 +00:00
tnn
0f0794146f fix build on NetBSD/i386 2016-12-20 22:40:06 +00:00
joerg
0de27f6641 Explicitly build LLVM projects with -std=c++11, it doesn't get detected
automatically in all cases.
2016-12-17 23:28:34 +00:00
maya
e02f8f3a3b libLLVM: support DragonflyBSD
from David Shao and dports in PR pkg/51705
2016-12-10 22:30:27 +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
wiz
32f0f93009 Update libLLVM to 3.8.1.
We have too many llvm packages; and too many not sharing infrastructure.
2016-08-02 22:39:21 +00:00
wiz
2b0a009d0e Bump PKGREVISION for perl-5.24.0 for everything mentioning perl. 2016-07-09 06:37:46 +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
7f28883c87 resurrect and copy the previous clang patch-ac to here
jperkin Mon Mar  7 16:27:47 UTC 2016
Do not use "-z discard-unused" linker flags on SunOS, it is only supported
by the very latest Oracle Solaris release.
2016-03-11 06:50:42 +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
jperkin
52cfb4848e Fixup library names on Darwin. 2016-03-04 13:29:53 +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
a9136ba31d revert previous hack, it doesn't work due to -lgcc.
Will fix it in wrappers instead.
2015-04-25 22:06:42 +00:00
tnn
b072ad6799 temporary band-aid for wrapper reordering bug until we have a proper fix 2015-04-25 20:20:32 +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