Path to this page:
Subject: CVS commit: pkgsrc
From: Adam Ciarcinski
Date: 2017-03-17 23:38:18
Message id: 20170317223818.9A86CFBE4@cvs.NetBSD.org
Log Message:
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.
Files: