LLVM 22.0.0git
Public Member Functions | List of all members
llvm::hlsl::BindingInfoBuilder Class Reference

Builder class for creating a /c BindingInfo. More...

#include "llvm/Frontend/HLSL/HLSLBinding.h"

Public Member Functions

void trackBinding (dxil::ResourceClass RC, uint32_t Space, uint32_t LowerBound, uint32_t UpperBound, const void *Cookie)
 
LLVM_ABI BindingInfo calculateBindingInfo (llvm::function_ref< void(const BindingInfoBuilder &Builder, const Binding &Overlapping)> ReportOverlap)
 Calculate the binding info - ReportOverlap will be called once for each overlapping binding.
 
BindingInfo calculateBindingInfo (bool &HasOverlap)
 Calculate the binding info - HasOverlap will be set to indicate whether there are any overlapping bindings.
 
LLVM_ABI BoundRegs takeBoundRegs ()
 
LLVM_ABI const BindingfindOverlapping (const Binding &ReportedBinding) const
 For use in the ReportOverlap callback of calculateBindingInfo - finds a binding that the ReportedBinding overlaps with.
 

Detailed Description

Builder class for creating a /c BindingInfo.

Definition at line 151 of file HLSLBinding.h.

Member Function Documentation

◆ calculateBindingInfo() [1/2]

BindingInfo llvm::hlsl::BindingInfoBuilder::calculateBindingInfo ( bool HasOverlap)
inline

Calculate the binding info - HasOverlap will be set to indicate whether there are any overlapping bindings.

Definition at line 169 of file HLSLBinding.h.

References calculateBindingInfo().

◆ calculateBindingInfo() [2/2]

BindingInfo BindingInfoBuilder::calculateBindingInfo ( llvm::function_ref< void(const BindingInfoBuilder &Builder, const Binding &Overlapping)>  ReportOverlap)

◆ findOverlapping()

const Binding & BindingInfoBuilder::findOverlapping ( const Binding ReportedBinding) const

For use in the ReportOverlap callback of calculateBindingInfo - finds a binding that the ReportedBinding overlaps with.

Definition at line 135 of file HLSLBinding.cpp.

References llvm_unreachable, llvm::hlsl::Binding::LowerBound, llvm::Other, and llvm::hlsl::Binding::UpperBound.

Referenced by validateRootSignature().

◆ takeBoundRegs()

LLVM_ABI BoundRegs llvm::hlsl::BindingInfoBuilder::takeBoundRegs ( )
inline

◆ trackBinding()

void llvm::hlsl::BindingInfoBuilder::trackBinding ( dxil::ResourceClass  RC,
uint32_t  Space,
uint32_t  LowerBound,
uint32_t  UpperBound,
const void *  Cookie 
)
inline

Definition at line 156 of file HLSLBinding.h.

References llvm::SmallVectorImpl< T >::emplace_back().

Referenced by validateRootSignature().


The documentation for this class was generated from the following files: