[clang] [llvm] [SPIRV] Add size optimisation for AMDGCN flavoured SPIR-V (PR #228188)

Alex Voicu via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 1 12:47:15 PDT 2026


AlexVlx wrote:

> I don't fully understand the background here, so bear with me. What stops us from using the SPIR-V backend? Is that why we're setting up this pipeline in clang instead of LLVM?

This is orthogonal to the BE - SPIR-V generation still goes through the BE, these would run before. There's two (and a half) reasons for not running these in the BE (I did have it like that before):

1. The BE is still on the OldPM, and a large portion of these have been ported to the NewPM,
   with the legacy variant removed;
   - (the half) It is painful to enable these in the BE, because it is difficult to pipe
     arguments / set `cl::opt`s with how we currently invoke the be, as the linker-wrapper
     either parses and sets them too early, or does not forward them at all; special casing
     `-mllvm` forwarding just for that seemed less than ideal;
2. These are target agnostic(-ish), and we have some more context (e.g. linguistic) here
   than we would when we reach the BE.

TL;DR, part of this pipeline could be set up in the SPIR-V BE, but it would be a bit ugly and ergonomics would be less than ideal.

https://github.com/llvm/llvm-project/pull/228188


More information about the cfe-commits mailing list