diff options
author | Helena Kotas <hekotas@microsoft.com> | 2025-05-12 23:00:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-12 23:00:00 -0700 |
commit | 03934d0a213e479622c7875a2a59ae64b4f2213f (patch) | |
tree | e23f40a4117e2fb7dfed15031858b3bc3fdbf8b7 /llvm/lib/Analysis/Analysis.cpp | |
parent | 383a825d6d7f98452e6be11aa96678617bc83b82 (diff) | |
download | llvm-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.cpp | 1 |
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); |