LLVM: llvm::hlsl::BindingInfoBuilder Class Reference (original) (raw)

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

#include "[llvm/Frontend/HLSL/HLSLBinding.h](HLSLBinding%5F8h%5Fsource.html)"

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 Binding & findOverlapping (const Binding &ReportedBinding) const
For use in the ReportOverlap callback of calculateBindingInfo - finds a binding that the ReportedBinding overlaps with.

Builder class for creating a /c BindingInfo.

Definition at line 153 of file HLSLBinding.h.

calculateBindingInfo() [1/2]

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

calculateBindingInfo() [2/2]

Calculate the binding info - ReportOverlap will be called once for each overlapping binding.

Definition at line 69 of file HLSLBinding.cpp.

References assert(), B(), llvm::hlsl::BindingInfo::RegisterSpace::FreeRanges, llvm::hlsl::BindingInfo::BindingRange::LowerBound, llvm::hlsl::BindingInfo::BindingSpaces::RC, llvm::hlsl::BindingInfo::RegisterSpace::Space, llvm::hlsl::BindingInfo::BindingSpaces::Spaces, llvm::dxil::SRV, llvm::stable_sort(), llvm::unique(), and llvm::hlsl::BindingInfo::BindingRange::UpperBound.

Referenced by calculateBindingInfo().

findOverlapping()

takeBoundRegs()

trackBinding()


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