<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/126298>126298</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DXIL] Remove use of `Property` in `DXIL.td` and its generation
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:DirectX
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
inbelic
</td>
</tr>
</table>
<pre>
Previously, we had copied over the idea of a `Property` or `Attribute` from DXC to `DXIL.td`, which would group together a sub-set of DXIL ops. For example, `IsWave` or `IsGradient`.
The intention had been to group like ops in `DXIL.td` that could then be used for various forms of analysis, a primary use-case would be for Shader Flag analysis. This would be beneficial if `DXIL.td` was still intended as a place to define all DXIL op related information.
In practice when implementing [wave op shader flag analysis](https://github.com/llvm/llvm-project/pull/118140), having the definitions of `Wave` ops separately in `DXIL.td` and creating a mapping back to the definitions proves less intuitive then having the relevant ops listed in a simple switch statement.
Finally, from a brief look at DXC, there appears to be no other current use-cases of `IsWave` or the other properties in analysis.
Since:
- There is no other current analysis uses of the `IsWave` or equivalents
- Having the definitions elsewhere from the use creates unnecessary complexity
- `DXIL.td` is no longer intended to be a complete reference of all DXIL information
Then, we can propose to remove this from `DXIL.td` and its uses.
Design meeting: If we can think of how we might use a property in numerous places then we could re-evaluate
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVc2O4zgPfBrlQnTgyO10cvAhM0G-r4E9DHYG2LnSMmNzW5a8kuxM3n5BudO_c9lTAttiFYtVFMbInSOqVfVFVccVTqn3oWbXkGWzanx7rb8FmtlP0V6V_goXgh5bMH5kasHPFCD1BNwSgj8DgtoW34IfKaSr2hbggzw5pBS4mRLJo3PwAxx_foXk5d3x5-Mf69SqbZHr92x6uPjJttAFP42QfEeppwAIcWruIiUBklPgx7iGkw9Av3AYLUkBtS0e41840yv6Y_xfwJbJJbUt1qo4qOLwQ0i7RC6xd7mlhsgJpQXV8hNJfWD3niSkHhOYTDD15KAhmCK1cPYBZgwilfwfYtbDob1GjsIMYQw8YLjK93cGIz332VA-_L3HlgKcLHYv59bwo-f4-l1Djs5sGC3w-QOxC0aIia1dGmupBYyCatGQdNbSmR0BWnuTDwJZTNQCO6GMIsYaFoUeHYwBTWJDcJFGWSQeRDHXgaq-XHAWiSAuvM9veavqqPSuT2mMqjwofVL61HHqp2Zt_KD0ydr59nM3Bv83maT0aZysVfq02ew294XSe5Gtx1kAxWW5ARaSWVy1LV4GPUaINGLARPb6eWjoWjCBMHNHGHAc5V-D5kmU-Vh8DH6mCJaiGCBNnHimZdxv6ASyNKNLGd1yXIQUn2apIF44mR5iwpR1e7beiR3aJU05CghNYDqD9f4JMEk05J14ngDHkTBEIdkQOA8-Z8FMIZBLL0666fHO-sJx-XxcEsmU_fxiroXPd3aGZErF4Q5-ZFSOn6FupwQzw0n5j5D0z8QzWnIp5nL___3wyEa6ZKSsgLyeIi0TogiTc2QoRsmK8aLlL07XXPD9WBee1ruOwqvrF63w-WiSQZ0pkDOUI3mz_xvPv-wE97zjDLosmo85OYEGnw3AcWH82V2cFmWeRT2SbFYYiMRyqjzA4_lWOPXsnoRK7y_ybOCuz6PMK2LZnTInNw0UZJ3kBMfFf1Ijb4NAdzSjnTDRqq3Ldl_ucUX15qHc7aud3uxXfW3a3X2FpWn1tnxAbRosm3JnNsXuYatNs19xrQtdFbp42OyrbbVfY7try82DqUxVVLtyo-4LGpDtWpK69qFbcYwT1Ru91fvdymJDNubrQ2tJE7lWlYcjBzLpp9JabpVQ55g3UxfVfSFBia_lEieb7x_RU1VH-HPRWuRYPP32OvltsEX6jhyFPMvVFGz9nzdP7irK7lkam2v9bwAAAP__ZDhnqw">