Commit graph

3 commits

Author SHA1 Message Date
adam
fa003e0fad llvm: updated to 9.0.1
9.0.1 is a bug-fix release.
2019-12-29 15:31:21 +00:00
adam
727f24e516 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).
2019-06-02 08:35:55 +00:00
jperkin
9a54b0911d lang: Import compiler-rt version 6.0.1.
The compiler-rt project consists of:

 - builtins - a simple library that provides an implementation of the low-level
   target-specific hooks required by code generation and other runtime
   components. For example, when compiling for a 32-bit target, converting a
   double to a 64-bit unsigned integer is compiling into a runtime call to the
   "__fixunsdfdi" function. The builtins library provides optimized
   implementations of this and other low-level routines, either in
   target-independent C form, or as a heavily-optimized assembly.

 - sanitizer runtimes - runtime libraries that are required to run the code
   with sanitizer instrumentation. This includes runtimes for:
   *     AddressSanitizer
   *     ThreadSanitizer
   *     UndefinedBehaviorSanitizer
   *     MemorySanitizer
   *     LeakSanitizer
   *     DataFlowSanitizer

 - profile - library which is used to collect coverage information.

 - BlocksRuntime - a target-independent implementation of Apple "Blocks"
   runtime interfaces.
2018-08-09 13:40:34 +00:00