diff options
author | Deric C. <cheung.deric@gmail.com> | 2025-07-08 14:45:14 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-08 14:45:14 -0700 |
commit | d47c126fbf7915c01ea112ae372fe8835df4379f (patch) | |
tree | 927255f1abe851532c4100d320d95c8b59934bfc /clang/lib/Parse/ParseDecl.cpp | |
parent | 03a27230c9b1b3a209a16bd8f82167527674d34d (diff) | |
download | llvm-d47c126fbf7915c01ea112ae372fe8835df4379f.zip llvm-d47c126fbf7915c01ea112ae372fe8835df4379f.tar.gz llvm-d47c126fbf7915c01ea112ae372fe8835df4379f.tar.bz2 |
[DirectX] Lower `llvm.lifetime.*` intrinsics to stores when DXIL version is lower than 1.6 (#147432)
Fixes #147394
References DXC for the implementation logic:
https://github.com/microsoft/DirectXShaderCompiler/blob/d751c827ed3b61e87fdf57d0f424cb2d7af30cd0/lib/HLSL/DxilPreparePasses.cpp#L693-L699
If DXIL Version < 1.6 then replace lifetime intrinsics with stores
- For validator version >= 1.6, store an undef
- For validator version < 1.6, store zeros
else keep the lifetime intrinsics in the DXIL.
After this PR, the number of DML shaders failing validation due to
#146974 is reduced from 157 to 50.
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
0 files changed, 0 insertions, 0 deletions