<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/133098>133098</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
aarch64-pc-windows: failed to perform tail call elimination on a call site marked musttail
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AArch64,
platform:windows
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zmodem
</td>
</tr>
</table>
<pre>
Consider:
```
$ cat /tmp/a.ii
struct S {};
struct T {
S Foo(S);
S Get(S);
};
S T::Get(S key) {
[[clang::musttail]] return Foo(key);
}
$ clang -cc1 -triple aarch64-pc-windows-msvc19.34.0 -emit-obj /tmp/a.ii
fatal error: error in backend: failed to perform tail call elimination on a call site marked musttail
```
(Other aarch64 triples, such as aarch64-unknown-unknown, work.)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysUs1uqzgUfprD5gjkHEMSFixII2Y5i_QFjO0ENwYj2zTqPP3Igbb33m6vZMno4_x8PxYhmNukdQPVCapzJpY4ON_8Nzqlx6x36qN5cVMwSnvgLbDn2bPtsBaoRCkiAnVxnIE6URgDrA3RLzLiBeFwgsMZ-Gnt3fDXJ85axAt2zgEdL0D1WpWwf3T8Dft1xAVfExXebkV41x9A9dfEp5KTtGK6rXXjEmIUxkJ1huqMXsfFT9vatfd7ySowiUr9mEu5wzx6M1uNQng57Mt8lvnDTMo9Qj6Gd7mrC14WDHM9mpi7_u2HGVcRhUXtvUsmrh9oJuyFvOtJJewqjNUKo8NZ-6vzIybGKIW1qK0ZzSSicRO6CcWKBhM1jsLftcIvhX-Ek6Qc_42D9p_kcdUSgF4wLHJAEb50LdN9co_p804lD-fvBVCdqYarmtci083uUHLGWMXLbGgqqaQQ-soVKWJyX9YlL3ndyyv11aFnmWmIUcU47XdleazKQql-X1PFNOuvek8MSqZHYWxh7ftYOH_LTAiLbnacs_qYWdFrG57Pk-jbsLZ9cgYioBcgmq2IyTbg7ZZN-lWdM9-kuXm_3AKUzJoQw_emaKLVzc9c_14i2eJtM8Q4p5lAHVB3M3FY-kK6EahLVLYrn7170zICdU8HAlC3mfDe0P8BAAD__7SOISc">