LLVM News Archives


763 LLVM open-source and Linux related news articles on Phoronix since 2009.

How AMD Is Taking Standard C/C++ Code To Run Directly On GPUs
How AMD Is Taking Standard C/C++ Code To Run Directly On GPUs

Back at the 2024 LLVM Developers' Meeting was an interesting presentation by AMD engineer Joseph Huber for how they have been exploring running common, standard C/C++ code directly on GPUs without having to be adapted for any GPU language / programming dialects or other adaptations.

11 December 2024 - LLVM Cross-Compiling - 26 Comments
Red Hat Engineer Nikita Popov Now The Lead Maintainer For LLVM
Red Hat Engineer Nikita Popov Now The Lead Maintainer For LLVM

Following a proposal that began last month, Red Hat engineer Nikita Popov was nominated to become the new lead maintainer for LLVM. Following unaminous approval, as of last week in LLVM Git he's been appointed the official lead maintainer for this critical open-source compiler stack.

17 October 2024 - LLVM Lead Maintainer - 44 Comments
LLVM Makes Progress On Using ClangIR To Compile GPU Kernels
LLVM Makes Progress On Using ClangIR To Compile GPU Kernels

ClangIR is a new IR for LLVM's Clang compiler built atop MLIR. Thanks to this year's Google Summer of Code, there has been progress on being able to compile GPU kernels using ClangIR as another improvement for heterogeneous programming with this open-source compiler stack.

11 September 2024 - LLVM + ClangIR + GPU Kernels - 2 Comments
LLVM's Modern Fortran Compiler "Flang-New" Is Looking Good
LLVM's Modern Fortran Compiler "Flang-New" Is Looking Good

The LLVM Fortran "Flang" compiler effort has been a long time coming over the years with this programming language continuing to be popular among some HPC codebases and other applications. The "Flang-New" compiler code has been maturing nicely and is looking like soon it could be possibly be renamed to Flang.

28 August 2024 - Flang-New Renaming Possibly Coming - 14 Comments
LLVM Clang Switches MMX Intrinsics To Use SSE2 Instead
LLVM Clang Switches MMX Intrinsics To Use SSE2 Instead

Following LLVM/Clang recently dropping support for AMD 3DNow! instructions, the open-source compiler stack is now pushing the MMX SIMD instruction set to a backseat. Moving forward the MMX intrinsics will not make use of MMX but rather be mapped to SSE2. This is all fine unless you are wanting to use this modern code compiler on an Intel Pentium MMX / Pentium II / Pentium III or AMD K6 / K7 processor from the late 90's.

24 July 2024 - SSE2 In Place Of MMX Usage - 22 Comments
LLVM Clang 19 Lands Support For C23's #embed
LLVM Clang 19 Lands Support For C23's #embed

Merged today to LLVM Clang 19 Git is support for the #embed resource inclusion mechanism that is an approved C23 feature. This also makes Clang the first for supporting this pre-processor embed feature.

12 June 2024 - C23 #embed - 6 Comments
AMD Lands Support For Vendor Flavored SPIR-V Within LLVM
AMD Lands Support For Vendor Flavored SPIR-V Within LLVM

SPIR-V used by the likes of OpenGL, OpenCL, and Vulkan is a common intermediate representation (IR) / intermediate language for consumption by device drivers. With code now merged into LLVM, AMD has introduced the notion of vendor "flavored" SPIR-V for containing extra information pertinent to the GPU device/driver being targeted.

7 June 2024 - AMDGCN Flavored SPIR-V - 8 Comments
Proposal Raised To Deprecate "-Ofast" For The LLVM/Clang Compiler
Proposal Raised To Deprecate "-Ofast" For The LLVM/Clang Compiler

Some that crave the absolute best possible performance sometimes build their software with the "-Ofast" optimization level that is a step above "-O3" but comes with the risk of potentially unsafe math. LLVM developers are now weighing whether to deprecate -Ofast to either remove it or have it just be an alias for the -O3 optimizations.

1 May 2024 - -Ofast - 20 Comments
LLVM's BOLT Being Adapted To Analyze Security Hardening Of Binaries
LLVM's BOLT Being Adapted To Analyze Security Hardening Of Binaries

LLVM's BOLT is an amazing tool for optimizing the layout of binaries and in turn can lead to some mighty useful performance improvements. But now an Arm compiler engineer has taken to leveraging BOLT for creating a binary analysis tool to vet the correctness of security hardening options.

4 April 2024 - BOLT Security Hardening - 4 Comments
Meta Continues Working On BOLT'ing The Linux Kernel For Greater Performance
Meta Continues Working On BOLT'ing The Linux Kernel For Greater Performance

Merged to the LLVM compiler stack two years ago was the BOLT tool for optimizing the layout of generated binaries for offering even greater performance than the likes of Profile Guided Optimizations (PGO) alone. BOLT had been in development for years by Facebook/Meta engineers and has continued to be improved upon for enhancing the code layout of binaries to yield enhanced performance. Recently there's been renewed work on using BOLT to optimize Linux kernel images.

16 February 2024 - LLVM BOLT - 3 Comments
LLVM/Clang Can Work Fine As A GCC Replacement For Linux Distributions
LLVM/Clang Can Work Fine As A GCC Replacement For Linux Distributions

While the performance of LLVM/Clang is on-par with GCC these days on both x86_64 and AArch64 and the C/C++ support is very robust compared to many years ago, most Linux distributions continue using the GCC compiler and GNU toolchain by default. OpenMandriva is a well known Linux distribution that for several years has been a Clang-built Linux distribution while for three years now the Chimera Linux distribution has also been relying exclusively on an LLVM toolchain.

5 February 2024 - Chimera Linux Experiences - 43 Comments
LLVM Looking To Better Collaborate Around Common AI/GPU/FPGA Offloading
LLVM Looking To Better Collaborate Around Common AI/GPU/FPGA Offloading

While most hardware vendors are relying on LLVM when it comes to offloading compute work to GPUs, AI accelerators, FPGAs, and similar heterogeneous compute environments, right now each vendor is basically creating their own LLVM offloading run-time among a lot of other duplicated -- and often downstream only -- code. The new "llvm/offload" project hopes to lead to better collaboration in this area.

23 October 2023 - LLVM Offload Project - 4 Comments
Intel Proposes Adding Full SYCL Programming Model Support To Upstream LLVM
Intel Proposes Adding Full SYCL Programming Model Support To Upstream LLVM

Intel engineers are proposing that full support for the SYCL programming model be added to upstream LLVM. This is part of their broader oneAPI effort and embracing Khronos' SYCL standard for single-source C++ heterogeneous programming from CPUs to GPUs, FPGAs, and other accelerators.

16 October 2023 - Full SYCL For Upstream LLVM - 9 Comments
LLVM 17.0 + Clang 17.0 Released With Many New Compiler Features
LLVM 17.0 + Clang 17.0 Released With Many New Compiler Features

The LLVM 17 compiler stack has been released as stable as LLVM 17.0.1 -- a slight mistake leaving the 17.0.0-rc tag meant the original v17.0.0 tag was skipped. This LLVM 17.0.1 stable release along with sub-projects like the Clang 17 C/C++ compiler bring many new features and improvements.

19 September 2023 - LLVM 17.0.1 - 14 Comments
LLVM Clang Now Supports -std=c23
LLVM Clang Now Supports -std=c23

LLVM/Clang developers have been working on C23 language support for some time already but to this point it's only been exposed when using the -std=c2x target or -std=gnu2x for the GNU dialect. However, with C2x having been finalized this summer as C23, the LLVM Clang 18 compiler will now honor the -std=c23 option.

11 August 2023 - C23 Target - 2 Comments
LLVM 18 Lands -march=arrowlake / arrowlake-s / lunarlake
LLVM 18 Lands -march=arrowlake / arrowlake-s / lunarlake

Going along with LLVM's recent additions around supporting new Intel instructions coming with future generation Core CPUs, the LLVM 18 Git development code has now landed support for actually honoring -march=arrowlake, -march=arrowlake-s, and -march=lunarlake targets.

28 July 2023 - LLVM Clang 18 - 1 Comment
LLVM Lands Initial Support For Fat LTO Objects
LLVM Lands Initial Support For Fat LTO Objects

In a move similar to GCC's implementation, LLVM Git landed this week initial support for fat LTO objects. This "-ffat-lto-objects" support will be found with the LLVM/Clang 17 release this autumn.

2 July 2023 - LLVM Fat LTO Objects - 5 Comments
New Patches Allow LoongArch ClangBuiltLinux Builds
New Patches Allow LoongArch ClangBuiltLinux Builds

While the upstream LLVM/Clang compiler has been building the AArch64 and x86_64 mainline Linux kernel builds for quite some time, for those interested in China's LoongArch CPU architecture it's the latest target seeing work to enable compiling the Linux kernel under Clang.

25 June 2023 - LoongArch + Clang + Linux - 3 Comments

763 LLVM news articles published on Phoronix.