<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/60329>60329</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP] Avoid removing (useful) assumptions as part of barrier elimination
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            openmp
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          jdoerfert
      </td>
    </tr>
</table>

<pre>
    We can eliminate barriers that only "guard" assumptions (`llvm.assume`) but this might cause us to loose information. Instead, we should check if the assumptions are worthwhile keeping, e.g., by verifying the argument is not a constant (after simplification).

This is one reason we perform poorly in certain multi-kernel tests.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxUkkFvnD4QxT-NuYyCzCywuwcO-f-jlXqo2kOlng0MMImxkWe80X77CtJGysUjWXrj9_x-ToTnQNSZ5j_TvBQu6xJT9zpGShMlLfo4PrrfBIMLQJ5XDk4JepcSUxLQxSnE4B9gEOfs0mgQwYnkdVOOQcDgxbTW-_taHtdkWmvwCn1W0IUFVp4XhcFlIcgCGsHHKAQcpphWt28p4VsQJTca_B_eCWSJ2Y8wLDS8AU-gC3150yWC95h0eV_YE7wRbRzmXUzlXO6zf8CdEk8PDvOHPM15paDAAiEqOBhiEHVB9wRuUkogvG6eJx4OUwavpbEvxj5_nL_2MCwQA0EiJzHsVjdKewzYYkz-ARxgoKSOA6zZKz-9UQrkQUlUymLsTuP1dHUFdVV7ri_2WjVYLB3WzblqsB-bqmpxsLY9jWNzHgbbuL4Z2oI7tHiyFZ7tpW4aLKdT7S5Vez731TTVdW9qS6tjXx5NxDQXLJKpa-0Jr4V3PXk5IECMG4V1M4g7EKnbBU99nsXU1vNu83OFsvoDnR8bhe8_TfMCz_fIIyRa433_WoOXLDRlv1f-pSKBzSWFOP2D6RMvjqHIyXeL6ibm9GzwZvA2sy65L4e4GrztDv6Opy3FVxrU4O1IJAZvR6g_AQAA___U9vYQ">