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

    <tr>
        <th>Summary</th>
        <td>
            [DirectX] Replace resource accesses in the device address space to typedbuffer load and store 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:DirectX
      </td>
    </tr>

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

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

<pre>
    The frontend will generate accesses into resources via a `llvm.dx.resource.access` intrinsic that indexes into a resource handle and provides a pointer in the HLSL device address space. We need to have a pass that transforms these accesses post-inlining to dxil store and load intrinsics.

This issue tracks creating this pass and implementing handling for replacing these accesses with `llvm.dx.typedbuffer.load` and `llvm.dx.typedbuffer.store`. Handling for more complicated access patterns (ie `llvm.dx.rawbuffer.*`) will be tracked separately.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U01v4zgM_TXyhaihyI6THHzIIgh66Gm3wO6VlmhbO7JkiHLa_vuB7HSaAjMXf4B6j--RT8hsB0_Uiv1fYn8pcEljiG0XBk-x6IL5aF9Hgj4Gn8gbeLPOwUCeIiYC1JqYicH6FCAShyVqYrhZBATRSOduU2ney89SuSFEIzMkWs9WQxoxgfWG3j-Z8BcXjOiNI0BvYI7hZg0xIMzB-kQRrIc0Ejy__PMChm5WE6AxkZiBZ9RUwr8EnshACjDijTIWmbeeKaLnPsQp_xM_-JkDpyfrnfXWDxlr3q0DTiFuUlxA8-WASyEvQp635-toGSzzQrmB_sGgI2FaiXJp7Z9J7DQ7msivpdVn_uhDhEizQ70hvul6s2l8nGv6mMl0S99TLLOmPNhM_YcjqwHRyBKeH9tN2ZYO0-ysxkTm3g9mTImiZxDqaOnbPvHtTinUWTRSqNMWje5umgwwzZhT4j7KwrSVOVUnLKjdHSp5qPdSHYux3dX6JEnJnipFB6mNQoWq6ip1wEYiFrZVUtW7nax3x0qqY9l1_ane943pml5i34ta0oTWlau0EIdiHX2729XH-lg47Mjxmm6luizMG1GdLzaSTv8JpXLoY5vBT90ysKils5z4iy7Z5Nbr8YnZX-DvdT_0ldKHi7AG8ndZzDF6WMaWobysLVbFEl07pjSzqM5CXYW6DjaNS1fqMAl1zYLur6c5hv9JJ6Guq1kW6nr3e2vVzwAAAP__wuZS4A">