<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/119014>119014</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL] Generate Root Signature metadata from AST
</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 generation of root signature LLVM IR metadata from the parsed AST.
We will again follow the representation of a list of "root elements" following the defined [metadata representation](https://github.com/llvm/wg-hlsl/blob/main/proposals/0002-root-signature-in-clang.md#metadata-schema).
AC:
- [ ] Define `CGHLSLRuntime::addRootSignature` in `CGRuntime.h`
- [ ] Implement `CGHLSLRuntime::addRootSignature` in `CGRuntime.cpp`
- [ ] Add usage of `addRootSignature` to `emitEntryFunction` in `CGRuntime.cpp`
- [ ] Add tests of generated metadata using `emit-llvm` in `CodeGenHLSL/RootSignatures.hlsl`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykU81upDwQfJrmYoGM-RnmwIFkPvJFmr1kot2zwQ14ZWyETUZ5-5UdMlGilXalPYGgu6q6u4pbK0eNWENxB4xJ3aGSPTAGxSnim5vMWu8fo86I1_p5kpZIazckE9dCoSVuQjKixpU7aTQxA1mNccQDc7etSM7n79_I4xOZ0XHBHSfDaubQtvDVoiDN5TkB2gBtfiC5SqUIH7nUZDBKmWuoXHFZ0aJ2NxJOlLTOvwFjgREVzqidBcb2VqnH0C1wkBoFgeLuJuIzIhQnYNXk3GIha4C1wNpRumnrkt7MwFqlXvzjOsaTsgpY2ynTAWtnLjWwdlnNYixXFlhLKWWxVxTfdhBLHfeK6zGZBbDsXURs-wlnDuy4z9_ce3baxF4qgeJETkE6gZLeP_x_vpyfNu3kjL4sa7gQT8a4yzsNlJRI_Va8FyYTlPQT4uO8vC3qH0D7ZfkK2whBNstHDCcp6e9gnPF_cJbuP-3W13bTfVj-3zM4tM56ht1xKD5stVl_750gDgf7ADYCH1D7YYG1n4TZJFy0pJGoM3HMjjzCOj1kWZFmeXmMpjo9dF1KK57m6SGvaMmrohBdhfkhTw9DlUeyZpTlKaNlesxSWiViKLJMFNUwDDTtxQA5xZlLlXhViVnHKGSoTtMjTfNI8Q6V3UOo8fqWsD2Ga-2b4m4bLeTUm95-wDjpVEhvmKw4kYd9L8TPSG5Dfglfc3mOtlXVfzZ84F5W8xN7B6wNwrzJd-UvNfsVAAD__3rwYU4">