llvm/llvm-project

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

Chiusa

#196.170 aperta il 6 mag 2026

 (5 commenti) (0 reazioni) (0 assegnatari)C++ (10.782 fork)batch import
backend:AArch64clang:codegengood first issue

Metriche repository

Star
 (26.378 stelle)
Metriche merge PR
 (Merge medio 1g 2h) (1000 PR mergiate in 30 g)

Descrizione

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.)

Guida contributor