<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56931>56931</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang dataflow framework needs a widening operator
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:dataflow,
soundness
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ymand
</td>
</tr>
</table>
<pre>
Currently, the built in model and custom models only have a `join` operator. That operator can either act as a join or as a widening operator. However, this means that, in practice, that we are forced to choose between precision and convergence.
In the short term, we worked around this issue in the built-in model by breaking equivalence (and leaving a FIXME). Instead, we need to add a widening operator and then upgrade the engine to use it. This will likely take a number of steps, so this issue is a tracking bug for the steps along the way.
@tJener @Xazax-hun
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtUk1vnEAM_TVwsYJg-Nhw4JAmXTWVeushVwMGJjvMbOdj6fbX18O2aSNFQgxj4-f3nt2b8do9BmtJe3VNxCP4haAPUnmQGlYzkgLUIwzBebPeAg6MVldY8EKAkDT5q5GaDzBnsuiNzeD7gv7tCgNqIMnIFnDwgI7LYg1wbr9sciQt9fwfwhez0YXsjZJ0sBJqx5_oY4hrz5ax5EC3P7jdxmwswWTsQCN4A8NijGM15DeiWECDdNLomyCjGX4mPVCW5E9J_nB7P-vdArcY68GTXSM-Q2_GnhgWrQlcvVOSzgWKVN48u3vzrL9CbwlPURT9CPKCKraCRNzH7orwElMIx-eXb58T0WbwrJ0nHP_003QTgeP4kUG7Bu6rIZxniyPtJEjPUlMsCyxc-jgIJrpJpUDJE_HUPJ7i1HRYex6HmYCbnl1s6sw7WXEunj3eJfRhjsberIkFgMpwPN43vL5zMKly_5U0o_PXC_7Cn3dL0JBSVzR125R1IYp07MqxLVtMvfSKukeFjDaix0mZDSaLK0XHdxs-3JA0WNUt3jP38iERR35mXrHQZ4PhmR2Vuvw97s7WvNLAi3PctbHaY920ZZEunegHGuqiFdRSWeXTRFiOh7YWfZM3dVGkCnve-C6pPyVCDJEm9_tLlEPROT5cXAtNzsVQ_ZTKTuRC5Pd5VRwqVpwV1QGHtq6acjrUoqnYG1pRqiwyzIydU9vtZNlqx0klnXf_kuicnNmMnQjjY_C8od115T1Id1XdLuk31xZKiA">