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

    <tr>
        <th>Summary</th>
        <td>
            Add a pass that materializes the alias analysis into metadata
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    There are various transformations - one main one is the assumption stripping in `codegenprepare`, but there's also target-specific stuff like the AMDGPU kernel argument lowering - that lose alias information.

This alias information could be preserved in `!noalias` and `!alias.scope` metadata (somewhat like the inliner does), but, currently, no effort is made to do so. 
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkUs2SmzAMfhpz0YQxhrDhwCHtTnrqTA_bBxBYgLvGZiSTneTpO1C6PfQk68_6pO9DETcGoladv6jza4ZrmiK37_x8yFPrrIv20b5NxATIBHdkF1eBxBhkiDxjcjEInCAGghld2B9OIE0EKLLOy1YBktgtiwsjuACq1n20NFJYmBZkUrVW5it0a9r6mJR5EUAvERLySOkkC_VucD1IWocBvHunfcL1--u3Hz_hnTiQB-RxnSkk8PGDeBt2gjTh5gsBeocCLnzCzpW-Kn19m5z8n4Q-rt5CR7AwCfGd7AFdmSLEvV7VGjDYI7iHcunjsu0DMyW0mBCUuUic6WMH8he4C94FYrCRRJnm2H4z_cpMIfnH5oQINAyR03bSGS1BimAjSMwhs21pm7LBjNripXqpirK5VNnU6q6pyr4yVWM7sl1fDBqH5lKWF03YN2XmWqPNWZ-Luqir2lR5WVdl3XQ0NEWpB21VpWlG53Pv73MeecycyEptUWlz0ZnHjrzskjEm0AfsWWXMpiBut6ZTt46iKu2dJPn3TXLJU3u1FhAWFPlDz4yJ2KF3TzqEs7OBAf1D3EZLip_3zFb27ZTSIqq8KnNT5ja6NK1d3sdZmds26zCnheMv6pMytx2hKHM7Vri35ncAAAD___6SAOc">