<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/153267>153267</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Upstream support for inline assembly
</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 handling inline assembly in ClangIR.
The [ClangIR incubator repository](https://github.com/llvm/clangir) has about 600 lines of code to process inline asm statements in the `clang/lib/CIR/CodeGen/CIRAsm.cpp` file. That will need to be moved in smaller pieces for effective review.
### Suggested minimal test case
```
void f1() {
__asm__ volatile("" : : : );
}
```
### Existing incubator tests
Also in the incubator, `clang/test/CIR/CodeGen/asm.c` contains test cases for GCC syntax assembly.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEk89uozAQxp_GXEaLHBMIHDjQZFP1tFK3e44MHsC7xkYeQ5u3XzlJm1VVaSUDwn---fybGUmkB4tYs_yB5YdELmF0vpZWnf_Is3E-aZ0610xk1wE_VvSrxlfGm18zBY9yAlrm2fkAvfMwSquMtgNoa7RFkEQ4teYM2sLeSDs8PaeMN4w3LyMCyx9uk6Btt7QyOA8eZ0c6OH9m-YGJcgxhJpY1TByZOA46jEubdm5i4mjMGj9d1NCeiQpGSSBbtwQoOIdogcD10DmFEBzM3nVIdHc3AQUZcEIb4iyE6KrgF8UYQLdMHPdPz_HtFD6ivf43NKXdPLOCQ68NpvAyygCv2hiwiCrGahEmt6KKsjRJY9DDrLFDupDCvscu6BXBYySawpXLnfXPZRiQAiqYtNWTNBCQAnSSMO4r-G3wZnVaQb9hoowM2O6B8QbgdJI0nU6wOiODNnhZFkwIYFlzf0TFsniA7Q6fZO9Wvr9pCte0vqcpeiHGm8aQeyf3scrE_l-Mce8XHGWEGBF2zgapLd0veGX0uN8DnW2Qbx-FlEKi6kxVWSUTrDe7POeiLKsiGetciXy3Vf22VCiroq9wq4oKe-yqbdm1MtG14CLn5UYIzjdZkZZttck2bcbzneCKC7blOElt0lhYqfNDookWrDd5JopdYmSLhi69IsStcCPR_JD4Oh751i4DsS03mgLdRYIOBusv--VTmySLN_X_C_4Sa_buN3aR68UkMXG8-Vxr8TcAAP__HbY6tA">