[all-commits] [llvm/llvm-project] 544562: [DirectX] Remove lifetime intrinsics and run Dead ...
Farzon Lotfi via All-commits
all-commits at lists.llvm.org
Tue Aug 12 09:42:30 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 544562ebc2bc6f38cf21a2a82a84dcb4a14b06b9
https://github.com/llvm/llvm-project/commit/544562ebc2bc6f38cf21a2a82a84dcb4a14b06b9
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-08-12 (Tue, 12 Aug 2025)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/Transforms/Scalar.h
M llvm/lib/Target/DirectX/DXILForwardHandleAccesses.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/Scalar.cpp
A llvm/test/CodeGen/DirectX/forward_handle_on_alloca.ll
R llvm/test/CodeGen/DirectX/issue-140819_allow_forward_handle_on_alloca.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/tools/dxil-dis/lifetimes.ll
Log Message:
-----------
[DirectX] Remove lifetime intrinsics and run Dead Store Elimination (#152636)
fixes #151764
This fix has two parts first we track all lifetime intrinsics and if
they are users of an alloca of a target extention like dx.RawBuffer then
we eliminate those memory intrinsics when we visit the alloca.
We do step one to allow us to use the Dead Store Elimination Pass. This
removes the alloca and simplifies the use of the target extention back
to using just the global. That keeps things in a form the
DXILBitcodeWriter is expecting.
Obviously to pull this off we needed to bring back the legacy pass
manager plumbing for the DSE pass and hook it up into the DirectX
backend.
The net impact of this change is that DML shader pass rate went from
89.72% (4268 successful compilations) to 90.98% (4328 successful
compilations).
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list