<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/119011>119011</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL] Parse and generate AST for Root Signatures
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
inbelic
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
inbelic
</td>
</tr>
</table>
<pre>
This issue handles the parsing of a root signature and generating the AST info from it.
Root signatures are defined as a list of "root elements" and so the in-memory representation will retain this form.
AC:
- [ ] Define `HLSLRootSignatureAttr` in `Attr.td`
- [ ] Use `AdditionalMembers` to hold a list of `HLSLRootElement`s
- [ ] Define `HLSLRootElement` in `HLSLResource.h`
- [ ] Define `ParseHLSLRootSignature` in `Parse/Parser.h`
- [ ] Implement parsing of a root signature (`ParseHLSLRootSignature`) to `Parse/ParseHLSL.cpp`
- [ ] Add usage of `ParseHLSLRootSignature` during function definition parsing to `Parse/Parser.cpp`
- [ ] Add tests of generated AST with `ast-dump` in `AST/HLSL/RootSignatures-AST.hlsl`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyElN2OmzAQhZ_G3IyCwASSXHDBNkWttJWqJn0Ag4fgytjIY3a1b1_Zoc3-dLdXVmLPfOfYcxBE6mIQa1beMc6V6VCrnnHOymMiFj9aV69_Jp2VT_V5VASKaEEYhZEaCfyIMAtHylzADiDAWesh9BV-cQjCSLigQSd8OBKON6czKDNYGJydQPmUZQ3Lmh8vCgmEQ5A4KIMSBIEArcgHBuM8QlDjhMYT4zxiyMb2ymwmnKx7AoezQ0LjhVfWwKPSGhx6oQz44GSwblrhzSdWhHUDrLwDVh7hGNHAquzL_ek-iDv90dZ471iVgTJhO_xKvWRV9qL-J8XiRkoV6EJ_w6lDR6HQWxitls893TCfr7ZYldF_BN1OrlLiBpJdXI_p-FrRrcF34Qjf2Lr1ifuMt3F1bzt9neYr-sOnZ3z_EYvxQ7iI17hwNO3n-TWzkRIWEhdcr-t9D3JxQdKwmD6-exyi-Ah_5f6D696DeiRPAbqOMco4wY_Kj6GJIL-RyzQ_G4jTmfE2SGO8faGONs3pnI6aNKuyRNaFPBQHkWCd74qizHlR7JKxFrkYhrzoyn1ZCdnLsuvK7tAPw25X5bzvE1XzjG9znlX5Ied5lVYSB9xxuc_32_0hE2yb4SSUTrV-mFLrLkkMbZ3nhyzPEy061LSm3uDjNdJr7l0dijbdciG2zcJ80q2NV17Hz0V0Vx4hXt3zkF_jPVgHMc8368nidD16P1NIGm8Zby_Kj0uX9nZivA2MddnMzv7C3jPeRmXEeLtKf6j57wAAAP__uj2DMA">