Next | Query returned 39 messages, browsing 21 to 30 | Previous

History of commit frequency

CVS Commit History:


   2019-12-29 16:31:23 by Adam Ciarcinski | Files touched by this commit (35) | Package updated
Log message:
llvm: updated to 9.0.1

9.0.1 is a bug-fix release.
   2019-10-24 13:52:21 by Tobias Nygren | Files touched by this commit (8)
Log message:
more packages with wrong LICENSE tag
   2019-10-19 16:01:37 by Adam Ciarcinski | Files touched by this commit (16) | Package updated
Log message:
lld: updated to 9.0.0

9.0.0:
Non-comprehensive list of changes in this release

ELF Improvements

ld.lld now has typo suggestions for flags: $ ld.lld --call-shared now prints \ 
unknown argument '--call-shared', did you mean '--call_shared'.

--allow-shlib-undefined and --no-allow-shlib-undefined options are added. \ 
--no-allow-shlib-undefined is the default for executables.

-nmagic and -omagic options are fully supported.

Segment layout has changed. PT_GNU_RELRO, which was previously placed in the \ 
middle of readable/writable PT_LOAD segments, is now placed at the beginning of \ 
them. This change permits lld-produced ELF files to be read correctly by GNU \ 
strip older than 2.31, which has a bug to discard a PT_GNU_RELRO in the former \ 
layout.

-z common-page-size is supported.

Diagnostics messages have improved. A new flag --vs-diagnostics alters the \ 
format of diagnostic output to enable source hyperlinks in Microsoft Visual \ 
Studio IDE.

Linker script compatibility with GNU BFD linker has generally improved.

The clang --dependent-library form of autolinking is supported.

This feature is added to implement the Windows-style autolinking for Unix. On \ 
Unix, in order to use a library, you usually have to include a header file \ 
provided by the library and then explicitly link the library with the linker -l \ 
option. On Windows, header files usually contain pragmas that list needed \ 
libraries. Compilers copy that information to object files, so that linkers can \ 
automatically link needed libraries. --dependent-library is added for \ 
implementing that Windows semantics on Unix.

AArch64 BTI and PAC are supported.

lld now supports replacing JAL with JALX instructions in case of MIPS-microMIPS \ 
cross-mode jumps.

lld now creates LA25 thunks for MIPS R6 code.

Put MIPS-specific .reginfo, .MIPS.options, and .MIPS.abiflags sections into \ 
corresponding PT_MIPS_REGINFO, PT_MIPS_OPTIONS, and PT_MIPS_ABIFLAGS segments.

The quality of RISC-V and PowerPC ports have greatly improved. Many applications \ 
can now be linked by lld. PowerPC64 is now almost production ready.

The Linux kernel for arm32_7, arm64, ppc64le and x86_64 can now be linked by lld.

x86-64 TLSDESC is supported.

DF_STATIC_TLS flag is set for i386 and x86-64 when needed.

The experimental partitioning feature is added to allow a program to be split \ 
into multiple pieces.

The feature allows you to semi-automatically split a single program into \ 
multiple ELF files called “partitions”. Since all partitions share the same \ 
memory address space and don’t use PLT/GOT, split programs run as fast as \ 
regular programs.

With the mechanism, you can start a program only with a “main” partition and \ 
load remaining partitions on-demand. For example, you can split a web browser \ 
into a main partition and a PDF reader sub-partition and load the PDF reader \ 
partition only when a user tries to open a PDF file.

See the documentation for more information.

If “-” is given as an output filename, lld writes the final result to the \ 
standard output. Previously, it created a file “-” in the current directory.

-z ifunc-noplt option is added to reduce IFunc function call overhead in a \ 
freestanding environment such as the OS kernel.

Functions resolved by the IFunc mechanism are usually dispatched via PLT and \ 
thus slower than regular functions because of the cost of indirection. With -z \ 
ifunc-noplt, you can eliminate it by doing text relocations at load-time. You \ 
need a special loader to utilize this feature. This feature is added for the \ 
FreeBSD kernel but can be used by any operating systems.

--undefined-glob option is added. The new option is an extension to --undefined \ 
to take a glob pattern instead of a single symbol name.

COFF Improvements

Like the ELF driver, lld-link now has typo suggestions for flags.
lld-link now correctly reports duplicate symbol errors for object files that \ 
were compiled with /Gy.
lld-link now correctly reports duplicate symbol errors when several resource \ 
(.res) input files define resources with the same type, name and language. This \ 
can be demoted to a warning using /force:multipleres.
lld-link now rejects more than one resource object input files, matching \ 
link.exe. Previously, lld-link would silently ignore all but one. If you hit \ 
this: Don’t pass resource object files to the linker, instead pass res files \ 
to the linker directly. Don’t put resource files in static libraries, pass \ 
them on the command line.
Having more than two /natvis: now works correctly; it used to not work for \ 
larger binaries before.
Undefined symbols are now printed only in demangled form. Pass /demangle:no to \ 
see raw symbol names instead.
Several speed and memory usage improvements.
lld-link now supports resource object files created by GNU windres and MS \ 
cvtres, not only llvm-cvtres.
The generated thunks for delayimports now share the majority of code among \ 
thunks, significantly reducing the overhead of using delayimport.
IMAGE_REL_ARM{,64}_REL32 relocations are supported.
Range extension thunks for AArch64 are now supported, so lld can create large \ 
executables for Windows/ARM64.
The following flags have been added: /functionpadmin

WebAssembly Improvements

Imports from custom module names are supported.
Symbols that are in llvm.used are now exported by default.
Initial support for PIC and dynamic linking has landed.
wasm-ld now add __start_/__stop_ symbols for data sections.
wasm-ld now doesn’t report an error on archives without a symbol index.
The following flags have been added: --emit-relocs

MinGW Improvements

lld now correctly links crtend.o as the last object file, handling terminators \ 
for the sections such as .eh_frame properly, fixing DWARF exception handling \ 
with libgcc and gcc’s crtend.o.
lld now also handles DWARF unwind info generated by GCC, when linking with libgcc.
PDB output can be requested without manually specifying the PDB file name, with \ 
the new option -pdb= with an empty value to the option. (The old existing syntax \ 
-pdb <filename> was more cumbersome to use with an empty parameter value.)
--no-insert-timestamp option is added as an alias to /timestamp:0.
Many more GNU ld options are now supported, which e.g. allows the lld MinGW \ 
frontend to be called by GCC.
The following options are added: --exclude-all-symbols, --appcontainer, --undefined
   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-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).
   2018-12-23 01:11:40 by Adam Ciarcinski | Files touched by this commit (17) | Package updated
Log message:
llvm and friends: updated to 7.0.1

7.0.1:
This release contains bug-fixes for the LLVM 7.0.0 release. This
release is API and ABI compatible with 7.0.0.
   2018-12-09 21:04:40 by Adam Ciarcinski | Files touched by this commit (44) | Package updated
Log message:
llvm: updated to 7.0.0

LLVM 7.0.0 Release

The release contains the work on trunk up to SVN revision 338536 plus
work on the release branch. It is the result of the community's work
over the past six months, including: function multiversioning in Clang
with the 'target' attribute for ELF-based x86/x86_64 targets, improved
PCH support in clang-cl, preliminary DWARF v5 support, basic support
for OpenMP 4.5 offloading to NVPTX, OpenCL C++ support, MSan, X-Ray
and libFuzzer support for FreeBSD, early UBSan, X-Ray and libFuzzer
support for OpenBSD, UBSan checks for implicit conversions, many
long-tail compatibility issues fixed in lld which is now production
ready for ELF, COFF and MinGW, new tools llvm-exegesis, llvm-mca and
diagtool. And as usual, many optimizations, improved diagnostics, and
bug fixes.

For more details, see the release notes:
https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html
   2018-08-07 12:44:50 by Adam Ciarcinski | Files touched by this commit (16) | Package updated
Log message:
llvm: updated to 6.0.1

6.0.1:

Non-comprehensive list of changes in this release

Support for retpolines was added to help mitigate “branch target injection” \ 
(variant 2) of the “Spectre” speculative side channels described by Project \ 
Zero and the Spectre paper.
The Redirects argument of llvm::sys::ExecuteAndWait and llvm::sys::ExecuteNoWait \ 
was changed to an ArrayRef of optional StringRef‘s to make it safer and more \ 
convenient to use.
The backend name was added to the Target Registry to allow run-time information \ 
to be fed back into TableGen. Out-of-tree targets will need to add the name used \ 
in the def X : Target definition to the call to RegisterTarget.
The Debugify pass was added to opt to facilitate testing of debug info \ 
preservation. This pass attaches synthetic DILocations and DIVariables to the \ 
instructions in a Module. The CheckDebugify pass determines how much of the \ 
metadata is lost.
Significantly improved quality of CodeView debug info for Windows.
Preliminary support for Sanitizers and sibling features on X86(_64) NetBSD \ 
(ASan, UBsan, TSan, MSan, SafeStack, libFuzzer).

Changes to the LLVM IR
----------------------
The fast-math-flags (FMF) have been updated. Previously, the ‘fast’ flag \ 
indicated that floating-point reassociation was allowed and all other flags were \ 
set too. The ‘fast’ flag still exists, but there is a new flag called \ 
‘reassoc’ to indicate specifically that reassociation is allowed. A new bit \ 
called ‘afn’ was also added to selectively allow approximations for common \ 
mathlib functions like square-root. The new flags provide more flexibility to \ 
enable/disable specific floating-point optimizations. Making the optimizer \ 
respond appropriately to these flags is an ongoing effort.

Changes to the AArch64 Target
-----------------------------
Enabled the new GlobalISel instruction selection framework by default at -O0.

Changes to the ARM Target
-------------------------
Support for enabling SjLj exception handling on platforms where it isn’t the \ 
default.

Changes to the Hexagon Target
-----------------------------
The Hexagon backend now supports V65 ISA.
The -mhvx option now takes an optional value that specifies the ISA version of \ 
the HVX coprocessor. The available values are v60, v62 and v65. By default, the \ 
value is set to be the same as the CPU version.
The compiler option -mhvx-double is deprecated and will be removed in the next \ 
release of the compiler. Programmers should use the -mhvx-length option to \ 
specify the desired vector length: -mhvx-length=64b for 64-byte vectors and \ 
-mhvx-length=128b for 128-byte vectors. While the current default vector length \ 
is 64 bytes, users should always specify the length explicitly, since the \ 
default value may change in the future.
The target feature hvx-double is deprecated and will be removed in the next \ 
release. LLVM IR generators should use target features hvx-length64b and \ 
hvx-length128b to indicate the vector length. The length should always be \ 
specified when HVX code generation is enabled.

Changes to the MIPS Target
--------------------------
Fixed numerous bugs:

fpowi on MIPS64 giving incorrect results when used with a negative integer.
Usage of the asm ‘c’ constraint with the wrong datatype causing an assert/crash.
Fixed a conversion bug when using the DSP ASE.
Fixed an inconsistency where objects were not marked as using the microMIPS as \ 
when the micromips function attribute or the ”.set micromips” directive was \ 
used.
Reordered the MIPSR6 specific hazard scheduler pass to after the delay slot \ 
filler, fixing a class of rare edge case bugs where the delay slot filler would \ 
violate ISA restrictions.
Fixed a crash when using a type of unknown size with gp relative addressing.
Corrected the j macro for microMIPS.
Corrected the encoding of movep for microMIPS32r6.
Fixed an issue with the usage of insert instructions having an invalid set of \ 
operands.
Fixed an issue where TLS symbols were not marked as such.
Enabled the usage of register scavenging with MSA, due to its shorter offsets \ 
for loads and stores.
Corrected the ELF headers when using the DSP ASE.

New features:

The long branch pass now generates some R6 specific instructions when targeting \ 
MIPSR6.
The delay slot filler now performs more branch conversions if delay slots cannot \ 
be filled.
The MIPS MT ASE is now fully supported.
Added support for the lapc pseudo instruction.
Improved the selection of multiple instructions (dext, nmadd, nmsub).
Further improved microMIPS codesize reduction.

Deprecation notices:

microMIPS64R6 support was been deprecated since 5.0, and has now been completely \ 
removed.

Changes to the SystemZ Target
-----------------------------
During this release the SystemZ target has:

Added support for 128-bit atomic operations.
Added support for the “o” constraint for inline asm statements.

Changes to the X86 Target
-------------------------
During this release the X86 target has:

Added support for enabling SjLj exception handling on platforms where it isn’t \ 
the default.
Added intrinsics for Intel Extensions: VAES, GFNI, VPCLMULQDQ, AVX512VBMI2, \ 
AVX512BITALG, AVX512VNNI.
Added support for Intel Icelake CPU.
Fixed some X87 codegen bugs.
Added instruction scheduling information for Intel Sandy Bridge, Ivy Bridge, \ 
Haswell, Broadwell, and Skylake CPUs.
Improved scheduler model for AMD Jaguar CPUs.
Improved llvm-mc’s disassembler for some EVEX encoded instructions.
Add support for i8 and i16 vector signed/unsigned min/max horizontal reductions.
Improved codegen for memory comparisons
Improved codegen for i32 vector multiplies
Improved codegen for scalar integer absolute values
Improved codegen for vector integer rotations (XOP and AVX512)
Improved codegen of data being transferred between GPRs and K-registers.
Improved codegen for vector truncations.
Improved folding of address computations into gather/scatter instructions.
Gained initial support recognizing variable shuffles from vector element \ 
extracts and inserts.
Improved documentation for SSE/AVX intrinsics in intrin.h header files.
Gained support for emitting retpolines, including automatic insertion of the \ 
necessary thunks or using external thunks.
   2018-05-22 14:39:23 by Adam Ciarcinski | Files touched by this commit (10) | Package updated
Log message:
llvm: updated to 5.0.2

5.0.2:
Bug fix release.
   2017-12-30 11:39:25 by Adam Ciarcinski | Files touched by this commit (14) | Package updated
Log message:
llvm: updated to 5.0.1

LLVM 5.0.1:
This release contains bug-fixes for the LLVM 5.0.0 release. This
release is API and ABI compatible with 5.0.0.

Next | Query returned 39 messages, browsing 21 to 30 | Previous