Skip to content

Update LLVM, clang and Mesa 3D #1147

Merged
merged 8 commits into from
Jun 27, 2019
Merged

Update LLVM, clang and Mesa 3D #1147

merged 8 commits into from
Jun 27, 2019

Conversation

pmenzel
Copy link
Collaborator

@pmenzel pmenzel commented Jun 26, 2019

Tested on inbetweenmove and sigusr2.

[Release notes][1]:

> ## 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).
>
> […]
>
> ### Changes to the X86 Target
>
> *   Machine model for AMD bdver2 (Piledriver) CPU was added. It is used to support instruction scheduling and other instruction cost heuristics.
> *   New AVX512F gather and scatter intrinsics were added that take a <X x i1> mask instead of a scalar integer. This removes the need for a bitcast in IR. The new intrinsics are named like the old intrinsics with llvm.avx512. replaced with llvm.avx512.mask.. The old intrinsics will be removed in a future release.
> *   Added cascadelake as a CPU name for -march. This is skylake-avx512 with the addition of the avx512vnni instruction set.
> *   ADCX instruction will no longer be emitted. This instruction is rarely better than the legacy ADC instruction and just increased code size.

[1]: https://releases.llvm.org/8.0.0/docs/ReleaseNotes.html
> -D=LLVM_ENABLE_RTTI=ON: Used to build LLVM with run-time type
> information. This is required for building Mesa-19.0.4.

Required by Mesa 3D Nouveau driver.

    Dependency LLVM (modules: amdgpu, asmparser, bitreader, bitwriter, engine, ipo, mcdisassembler, mcjit, native) found: YES 7.0.1

    meson.build:1277:6: ERROR: Problem encountered: The Nouveau driver requires rtti. You either need to turn off nouveau or use an LLVM built with LLVM_ENABLE_RTTI.

[1]: http://www.linuxfromscratch.org/blfs/view/svn/general/llvm.html
From *[ANNOUNCE] mesa 19.1.0*:

> Mesa 19.1.0 is now available.
>
> This release consists of approximately 3700 commits from 158
> developers.
>
> Huge thanks to all the developers, testers and users for their
> ongoing work and support shaping up the 19.1.0 release.
>
> The top highlights include:
>
>  - GL_ARB_parallel_shader_compile for all drivers.
> -  GL_EXT_gpu_shader4 on all GL 3.1 drivers.
> -  GL_EXT_shader_image_load_formatted on radeonsi.
> -  GL_EXT_texture_buffer_object on all GL 3.1 drivers.
> -  GL_EXT_texture_compression_s3tc_srgb on Gallium and i965 drivers (ES extension).
> -  GL_NV_compute_shader_derivatives on Iris and i965 drivers.
> -  GL_KHR_parallel_shader_compile on all drivers.
> -  GL_INTEL_conservative_rasterization on Iris.
>
>
> Additional features:
>
> ANV
>  - VK_EXT_buffer_device_address
>  - VK_EXT_depth_clip_enable
>  - VK_KHR_ycbcr_image_arrays
>  - VK_EXT_inline_uniform_block
>  - VK_EXT_external_memory_host
>  - VK_EXT_host_query_reset
>  - VK_KHR_surface_protected_capabilities
>  - VK_EXT_pipeline_creation_feedback
>  - VK_NV_compute_shader_derivatives
>  - VK_KHR_shader_float16_int8
>  - VK_KHR_shader_atomic_int64
>  - VK_EXT_descriptor_indexing
>  - VK_EXT_memory_budget
>
> RADV
>  - VK_EXT_buffer_device_address
>  - VK_EXT_depth_clip_enable
>  - VK_EXT_inline_uniform_block
>  - VK_EXT_host_query_reset
>  - VK_KHR_surface_protected_capabilities
>  - VK_EXT_pipeline_creation_feedback
>  - VK_KHR_8bit_storage
>  - VK_AMD_gpu_shader_int16
>  - VK_AMD_gpu_shader_half_float
>  - VK_KHR_shader_float16_int8

[1]: https://lists.freedesktop.org/archives/mesa-dev/2019-June/220047.html
[2]: https://lists.freedesktop.org/archives/mesa-dev/2019-June/220683.html
@pmenzel pmenzel merged commit 8fa7c6e into master Jun 27, 2019
@pmenzel pmenzel deleted the update-llvm-clang-and-mesa branch July 27, 2021 13:33
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant