<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/130187>130187</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[CIR] Create CIR flattening pass
</td>
</tr>
<tr>
<th>Labels</th>
<td>
ClangIR
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
andykaylor
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
andykaylor
</td>
</tr>
</table>
<pre>
ClangIR must be flattened before it can be lowered to LLVM IR. Eventually this pass will be responsible for removing all operations that imply scope such as IfOp, LoopOp, ScopeOp, etc., and creating a situation where all blocks in a function belong to the parent region. Currently only ScopeOp is implemented, but lexical scopes are in the works.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxEUsGOmzAQ_RpzGS0CQ0I4cGizjRRpq0qp1LttBnB3sJE9JOXvK7NZ7WkGRvPe85unYrSjQ-zE4buQUrl-e1cb-SCkFIfXTK08-dB9_c-077fuTMqN1xvMa2TQCAMpZnTYg8bBBwTLYJRLI_IPDNgDe3h7-_MTrrccftzR8aqINuDJRlhUjPCwRGkhYFy8i1YTwuADBJz93boRFBH4BYNi610EnhSDnRfaIBq_IMTVTKAiXIdfi5BnePN--eh-p_lHi2zyVJXrwQRUvCNDtLzuuPCYMODOpcmb9wjWgYJhdWYfayTvxvQanhAWFdAxBBytdzmc15C-aQPvaPukBRt3nTijY-wTu14ZCP9Zo-hDfASVXHM76sOH95hnfVf1bdWqDLuyqUvZtkfZZFPXmuKgVdUcTY3Y1m3fnOpjW9ZYncreaJPZThbyUFTFUUpZyCZHg7oph2NdlfWpbk6iLnBWlnKi-5z7MGY2xhW7sirKU5OR0kjxGYnnqZ95CF1aedHrGEVdkI0cv0DYMu1JOl9v4vAK5-Qvwvl6-wxIMjsdO1sDdRPzEkX1TciLkJfR8rTq3PhZyEuCfJaXJfi_aFjIyy4yCnl56rx38n8AAAD__5xr7Os">