<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/124310>124310</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DirectX][Doc] Document various module metadata and function attributes
</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>
Modules generated by `clang` during compilation of HLSL use the following module metadata to denote module-wide properties and function attributes to denote function-wide properties in LLVM IR.
1. Module Metadata
- `dx.valver`
- `dx.shaderModel`
- `dx.disable_optimizations`
2. Function Attributes
- `hlsl.shader`
- `hlsl.shaderModel`
Only `hlsl.shader` is [documented](https://clang.llvm.org/docs/HLSL/HLSLIRReference.html). Update documentation to include all module metadata and function attributes.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMU92K2zwQfRr5ZoiRZcuJL3yRJZhvIeGDLS29K7I1sbXIktFP0vTpi73ev4ZCrwQ6OmfmzBkJ71VvEGvCHwg_JCKGwbq6HYQT8iqeb0lr5a0-WRk1eujRoBMBJbQ3ICXttDA9KSnI6JTpobPjpLQIyhqwZ_jv-OUI0SOEAeFstbbX-dW4qMGIQUgRBAQLEo0NuCKbq5IIk7MTuqDQgzASztF0i64Iwak2BvQfiK_oHVUZOB6_neDxKSV0T-g-S-HFDZzW-oTuATazHfkzvQh9QUdK-unWD0KiO1mJ-k9IKi9ajT_sFNSofi3e_csjlkLz2vX-ret39qC9XqU_qX64_1CS0P3_Rt_uiaA8EP4gbRdHNAEl4QfCdkMIkyf5nrCGsGZJKtX6MqbW9YQ10naesGaOaD0en57wjA5Nh-kQRk1YlcLXSYqA8Cr-Em2woEyno0QQWt_l-Ze40kTWuazySiRYZ9t8u823Ja-Soa4oIkfkbYcl7uSWS7o77845K6uiqrIqUTWjjNOMFVnJi6xKq4JXHcuytihFy3cFKSiOQuk3h4nyPmKdsSLPaKJFi9ovS86YwSssKGFs3nlXz6RNG3tPCqqVD_5dJqigl99xUA678H2eLX842I7wAxzWqcBFOGWj_9dJJNHp-nM-vQpDbNPOjoQ1c_X12EzOPmMXCGuWnufMVlOXmv0OAAD__wyfPVs">