llvm/llvm-project

[AArch64] Add support for MSVC-style mangling for SVE

Geschlossen

#196.170 geöffnet am 06.05.2026

 (5 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (10.782 Forks)batch import
backend:AArch64clang:codegengood first issue

Repository-Metriken

Stars
 (26.378 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 1T 2h) (1.000 gemergte PRs in 30 T)

Beschreibung

The latest MSVC release candidate has support for SVE, and with it a set of new SVE mangling patterns. We should mangle like MSVC instead of using the manglings we invented before (in #141887).

Example code:

#include <arm_sve.h>
void f(svint32_t x) {}

Latest MSVC produces the mangled symbol ?f@@YAX$$_CD@Z.

The relevant code is in MicrosoftCXXNameMangler::mangleType; replace the existing code which does #include "clang/Basic/AArch64ACLETypes.def".

(As a followup, we should also add demangling support in llvm/lib/Demangle/MicrosoftDemangle.cpp.)

Contributor Guide