<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/114461>114461</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DirectX] Generate appropriate DXIL Op attributes
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:codegen,
backend:DirectX
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
inbelic
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
pow2clk
</td>
</tr>
</table>
<pre>
The DxilOpLower pass does not apply attributes indicated by DXIL.td. In addition, the DXIL Op tablegen emitter doesn't properly include multiple attributes for the Op as it tries to OR them together like stages. Attribute values aren't represented as single bit values, so this won't work. Instead we need to represent them as a simplevector of attribute values. These will need to be read in DxilOpLower and assigned to the output dxilop calls.
Additionally, DXIL.td is missing a lot of attributes for a lot of ops. Many of those available will need to be added to the attributes that LLVM recognizes. This includes `IsWave`, `ReadOnly`, `ReadNone`, and `ArgMemOnly`. The others might need to be re-evaluated.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkU01v4zYQ_TXUZRBBomy5OejgrpEigFMDi0WbKyVOpGkokuCM7HV_fUF_JBv0YkvUzJv35vEZZho9YqfWvyutyffoaFBaq_WuMItMIXUxnPTg3os-2HP3Y0LY_SR3iPtwwgTRMIMNyOCDgInRncGIJOoXQQbylgYjaKE_w-71eV-KLeHZg7GWhIJX-htIxnx93sMhgpje4YgecCYRTBdsr_RGIKYQMbkzkB_cYhHmxQlFh78OfAvpgneIYBhIQBIhgwQ4fM8fZpAwokyYwNE7AosZkUvY3iHgaNyCDCbhdWzCmJDRZxGGgcmPDqEnuVVmBRxAJmI4hWvPKaT3LJMFjYUTgke0mcQH2JWLYTDANEeHRxwkJAhvn2puA0r4MSEjnMi5D6AeIWVs8l_sMD6TvHh6KcurCIvERcD-JBciDMY5LlW1U9X2-ru9WWGcO2cxN5uAGGbirBcMuCBfuF03_XEeIpfwYvw5v8gUGMEcDbns5v-IG2s_2f2CKJMR2O__eoGEQxg9_XsVT3y3nEG11TP_bY6o2iqTVW31HY09eHf-evJn8PeavBTVVts0vuB8q7wsFUK-CFnmOMnX1T5gXn6-uWVhu8Y-No-mwK7eNNWqajerppi6zaZuN20_9G9r7LH6bd1gU-verNu-1dXGFtTpSq_qqql11WjdlPXQYPtYrZtVazZoa7WqcDbkSueOcxnSWBDzgl1dr1ZtXTjTo-NbNnOJarZDsDkfOaL6m9K6N8M7equa7Y4SDvJ6C2_qcsNDv4ysVpUjFv6cIiTukvl7z3oHf6DHZARziFOIifLzPZafLhVLct0kElk1W6WflH4aSaalL4cwK_10oXn9e4gp_IODKP10kcVKP92UHTv9XwAAAP__z8CFGg">