llvm/llvm-project

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

Fechada

#196.170 aberto em 6 de mai. de 2026

 (5 comentários) (0 reação) (0 responsável)C++ (10.782 forks)batch import
backend:AArch64clang:codegengood first issue

Métricas do repositório

Stars
 (26.378 estrelas)
Métricas de merge de PR
 (Mesclagem média 1d 2h) (1.000 fundiu PRs em 30d)

Description

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

Guia do colaborador