<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/136057>136057</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[CIR] Upstream support for C++ name mangling
</td>
</tr>
<tr>
<th>Labels</th>
<td>
ClangIR
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
andykaylor
</td>
</tr>
</table>
<pre>
### Overview
Upstream support for C++ name mangling. Currently, we're still emitting unmangled names for C++ functions. As we start to implement C++ features, we're developing a large backlog of tests that will need to be updated when name mangling is enabled.
This will require introducing the infrastructure for target-specific CXXABI handling.
### Suggested minimal test case
```
void fn() {}
```
### Existing incubator tests
This is thoroughly covered by all C++ tests, but we are missing mangling-specific tests. There are many such tests in clang/test/CodeGenCXX/mangle*.cpp
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMU01vq0gQ_DXDpRWEBzDmwAGT9SqnlbJZydf5aGA2www7H_b63z8NdpKXd3pSSwhUXV1VTTPv1WQQO1IfSf2csRhm6zpm5O2d3bR1Gbfy1hFa3gv-uqC7KLySov9n9cEhW8DHdbUuwGgdDIQeCT2CYQvCwsyklZlyGKJzaIK-ETrAFQltHIIPSmvARYWgzATRbHiUW7P_RjdGI4KyxufQe7imXuYCBAtqWTUuaMIXFlmIDv3PoyReUNs1jWGgmZsQOBPv2k5gRwjog4cwswDXJMkgysTNEeIqWUAJ1xnNd1OgPKBhXKPMSdGTon-blb8TOPwvKoegTHBWRpHgYU7vo2M-uCiSws1hSGLCk19RqFEJGM7n_vgCMzNyi-5O_bWAv-M0oU-SFmXUwvSmHgTzmHD74lFFf7FKwmgIPRDaAmmOpHn-BfKN-Y__ld8WoYyInIUkLgXz4UyliKyzcZr1DYS9oEMJ_AZM68_w7x10AB5D2hNzCIvyPvF-JPdldkPn8Daje0CZuYGPYn7sRBkQmpmJ0FP6QOhpsBL_RDOcz4Se7j8MoX0u1pUUfSa7UrZlyzLsdk1VHaqG1lU2d8144G0jqnHXtC2XDW0pCqzqqirKsWyLTHW0oHVR7fa0rJqyyseW7_ZFVR44rWrkI6kKXJjSudaXJbduypT3EbtduS_qJtOMo_bbGVE6JMkvr4TSdFOuSy1PPE6eVIVWyfInSVBBb9c3vLyS-hl-_6iy6HQ3h7B6UvaEngg9TSrMkefCLoSe0ojH42l19l8UKb5NtCf09NB96eiPAAAA__-66FCd">