<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/103298>103298</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DXIL][TableGen] Define DXIL operator types instead of relying on LLVM Types
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
bharadwajy
</td>
</tr>
</table>
<pre>
Should we define an enum of our own set of types rather than using `CodeGen/ValueTypes.td`? Types like `dx.handle` and `dx.ResRet.f32` and the like are going to be annoying to represent using MVTs, and there's actually a pretty limited set of legal types in DXIL operations.
_Originally posted by @bogner in https://github.com/llvm/llvm-project/pull/99055#pullrequestreview-2180755751_
## Acceptance Criteria
Replace all uses of `llvm_*_ty` in `DXIL.td` with types specifically defined to represent DXIL operator types.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUk0Fv8zYMhn-NfCE-w6asODn4kDbwMKDFgK4odgtki7HVKZInyc387wfZCdYBu3yXBKREis_rlzIEPViihoknJk6ZnOPofNON0kt1k59L1jm1NL-PbjYKbgSKLtoSSAtk5yu4C7jZg7tZCBRTGJeJAngZR_IQR2lhDtoOwHbFs1P0C1mG7Yc0M72nm3lUbFcw3sIagtF_Urqr_s5HaZUhtitAWnXPvVF4o5hfOD7ycaStSHqCwaWnooMujWjdcg89TZ4C2Xgf5vXjPTB8fjTwxLAOIPs4S2MWkDB5inEBo686knqwGRqkuRNqC6c_fn0BN5GXUTsbclacWHHcfs-_eT1ou7abXEhNugVYVXRusORT-RjjFBg_MmwZtoOO49zlvbsybI35evz9mLz7pD4ybKfZGIbt4VAIwZCn0NNfM4Xo6UvT7QeW-6IWohbl-fssDDlDDse-pylK2xM8ex3Ja7mdv9FkZE8gjYE5UEiobFek188Mj-e4JLG1TcnEvH0zuOk43sUIE_X6ovsVd7OI-q_u37RyfqvKM9VwdeAHmVFT1sjFDgXHbGwq0ZGoyrqWdcmx7A-7_a6kupR8XxZVvc90gwVWxb7kpUAsMe_7GtWeV1VXc8HLA6sKukpt8gSROz9kOoSZmrLgeNhnRnZkwmp6REs3WE8ZYtoB36y6d_MQWFUYHWL4t03U0azbkoCYODHx9C47s_panOC0rcf_0IK2IZJUSVxPZnWms_Dy8vG6WT-bvWl-2hPr4IFheyf7avCfAAAA__8ywUA_">