aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/Analysis.cpp
diff options
context:
space:
mode:
authorHelena Kotas <hekotas@microsoft.com>2025-05-12 23:00:00 -0700
committerGitHub <noreply@github.com>2025-05-12 23:00:00 -0700
commit03934d0a213e479622c7875a2a59ae64b4f2213f (patch)
treee23f40a4117e2fb7dfed15031858b3bc3fdbf8b7 /llvm/lib/Analysis/Analysis.cpp
parent383a825d6d7f98452e6be11aa96678617bc83b82 (diff)
downloadllvm-03934d0a213e479622c7875a2a59ae64b4f2213f.zip
llvm-03934d0a213e479622c7875a2a59ae64b4f2213f.tar.gz
llvm-03934d0a213e479622c7875a2a59ae64b4f2213f.tar.bz2
[DirectX] Implement DXILResourceImplicitBinding pass (#138043)
The `DXILResourceImplicitBinding` pass uses the results of `DXILResourceBindingAnalysis` to assigns register slots to resources that do not have explicit binding. It replaces all `llvm.dx.resource.handlefromimplicitbinding` calls with `llvm.dx.resource.handlefrombinding` using the newly assigned binding. If a binding cannot be found for a resource, the pass will raise a diagnostic error. Currently this diagnostic message does not include the resource name, which will be addressed in a separate task (#137868). Part 2/2 of #136786 Closes #136786
Diffstat (limited to 'llvm/lib/Analysis/Analysis.cpp')
-rw-r--r--llvm/lib/Analysis/Analysis.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/Analysis.cpp b/llvm/lib/Analysis/Analysis.cpp
index 484a456..9f5daf3 100644
--- a/llvm/lib/Analysis/Analysis.cpp
+++ b/llvm/lib/Analysis/Analysis.cpp
@@ -27,6 +27,7 @@ void llvm::initializeAnalysis(PassRegistry &Registry) {
initializeCallGraphViewerPass(Registry);
initializeCycleInfoWrapperPassPass(Registry);
initializeDXILMetadataAnalysisWrapperPassPass(Registry);
+ initializeDXILResourceWrapperPassPass(Registry);
initializeDXILResourceBindingWrapperPassPass(Registry);
initializeDXILResourceTypeWrapperPassPass(Registry);
initializeDXILResourceWrapperPassPass(Registry);