[all-commits] [llvm/llvm-project] 03934d: [DirectX] Implement DXILResourceImplicitBinding pa...

Helena Kotas via All-commits all-commits at lists.llvm.org
Mon May 12 23:00:22 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 03934d0a213e479622c7875a2a59ae64b4f2213f
      https://github.com/llvm/llvm-project/commit/03934d0a213e479622c7875a2a59ae64b4f2213f
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-05-12 (Mon, 12 May 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    A llvm/lib/Target/DirectX/DXILResourceImplicitBinding.cpp
    A llvm/lib/Target/DirectX/DXILResourceImplicitBinding.h
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    A llvm/test/CodeGen/DirectX/ImplicitBinding/arrays.ll
    A llvm/test/CodeGen/DirectX/ImplicitBinding/multiple-spaces.ll
    A llvm/test/CodeGen/DirectX/ImplicitBinding/simple.ll
    A llvm/test/CodeGen/DirectX/ImplicitBinding/unbounded-arrays-error.ll
    A llvm/test/CodeGen/DirectX/ImplicitBinding/unbounded-arrays.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [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



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