Difference between revisions of "News:LLVM Targets"

From Funtoo
Jump to navigation Jump to search
Line 10: Line 10:
* <code>AMDGPU</code> support for AMD & ATI graphic cards.
* <code>AMDGPU</code> support for AMD & ATI graphic cards.
* <code>X86</code> support for 32-bit, 64-bit and x32 arch. (AMD64 and EMT64, respectively)
* <code>X86</code> support for 32-bit, 64-bit and x32 arch. (AMD64 and EMT64, respectively)
* <code>BPF</code> support for Berkley Packet Filtering.
* <code>BPF</code> support for Berkeley Packet Filtering.
* <code>ARM</code> support for ARM processors.
* <code>ARM</code> support for ARM processors.
* <code>NVPTX</code> support for NVIDIA cards.
* <code>NVPTX</code> support for NVIDIA cards.

Revision as of 07:40, December 8, 2016

LLVM Targets

LLVM Targets

By Oleg / December 8, 2016

With =sys-devel/llvm-3.9.0 new LLVM_TARGETS USE_EXPAND introduced which is relying on llvm's build system configuration for a specific microarchitecture host targets support[1,2]:

  • AMDGPU support for AMD & ATI graphic cards.
  • X86 support for 32-bit, 64-bit and x32 arch. (AMD64 and EMT64, respectively)
  • BPF support for Berkeley Packet Filtering.
  • ARM support for ARM processors.
  • NVPTX support for NVIDIA cards.

By default following targets enabled:

  • 32- and 64-bit arch profiles: X86, AMDGPU, BPF and NVPTX
  • arm profile: ARM and BPF

Normally changing this settings is not recommended, however, if wanted, with LLVM_TARGETS it is now possible to control what microarchitecture support LLVM will be configured with, depending on hardware. For example, with NVIDIA cards, it make sense to leave only X86 and NVPTX targets, assuming that x86-compatible PC used. To achieve this, following changes in /etc/portage/make.conf needed:

   /etc/portage/make.conf - Excerpt of make.conf with NVIDIA cards
LLVM_TARGETS="X86 NVPTX"