diff options
author | Deric C. <cheung.deric@gmail.com> | 2025-04-10 16:06:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-10 16:06:48 -0700 |
commit | 727f3921e7af7a4b0f1e59635ebb99a52bd173c3 (patch) | |
tree | b508d8c886dc221ca7fa473073ab94199be81309 /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | b39ab7a620e1bd038d6c22a667110ad814596288 (diff) | |
download | llvm-727f3921e7af7a4b0f1e59635ebb99a52bd173c3.zip llvm-727f3921e7af7a4b0f1e59635ebb99a52bd173c3.tar.gz llvm-727f3921e7af7a4b0f1e59635ebb99a52bd173c3.tar.bz2 |
[DirectX] Implement Shader Flags Analysis for ResMayNotAlias (#131070)
Fixes #112270
Completed ACs:
- `-res-may-alias` clang-dxc command-line option added
- It inserts and sets a module metadata flag `dx.resmayalias` to 1
- Shader flag set appropriately:
- The flag IS NOT set if DXIL Version <= 1.6 OR the command-line option
`-res-may-alias` is specified
- Otherwise the flag IS set when:
- DXIL Version > 1.7 AND function uses UAVs, OR
- DXIL Version <= 1.7 AND UAVs present globally
- Add tests
- Tests for Shader Models 6.6, 6.7, and 6.8 corresponding to DXIL
Versions 1.6, 1.7, and 1.8
- Tests (`res-may-alias-0.ll`/`res-may-alias-1.ll`) for when the module
metadata flag `dx.resmayalias` is set to 0 or 1 respectively
- A frontend test (`res-may-alias.hlsl`) for testing that that the
command-line option `-res-may-alias` inserts `dx.resmayalias` module
metadata correctly
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions