<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/130195>130195</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[CIR] Upstream unary expression support
</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 unary expressions and the cir.unary operation. The initial change should just add support a single operation, such as `not`. Other unary operators can then be added afterwards.
### Suggested minimal test case
```
bool f(bool a) {
return !a;
}
```
### Existing incubator tests
clang/test/CIR/CodeGen/unary.cpp
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxckt1uozAQhZ_G3IyKHDuQ5oKLtF1We1Vpfx5gwAO469jIY6fN26-cpK22kgVomDnzHesgs509USeaB9E8VZjTEmKH3pz_4tmFWA3BnDuh9PXA84niydKrkAchD39WTpHwCJzXNcQEU4iQPcYz0NsaidkGz4DeQFoIRhvr69-wUsRkg6_h90JgvU0WHYwL-pmAl5CdgZfMCdCYD3UEtn529Dku1CNwHhdABtFKH5JoZQ3PaaF3kGtviAwj-oLhYaAiSwZwShRfMRqur4Y-jf7K80ycyMDRentEB4k4wYhMt9ZW3o48DCE4mIS6v3ygUHsQuwchDwCRUo4ehNqg0KUkdk9fpv_b--3NcrJ-BuvHPBTwy2K-9o0O_SxUX0pC9Y8_fpZnMPSdvFD9xXE9rmtlOm32eo8VdZvddqOlbJv7aukmtR3ahibTKDVN7VZN0ygNDnqPzbRrp8p2SqpGatkqpXf6vt6SluNm2JHSpNuRxFbSEa2rnTsd6xDnyjJn6jZabvZN5XAgx5c8KfVYcAujKuGKXRm5G_LMYiud5cSfIskmd4lh8dQ8wUe0vsbpPQ1Vjq5bUlpZ6INQvVD9bNOSh3oMR6H6onx73a0xvNBYbuzCykL1N9xTp_4FAAD__-Va97I">