LLVM 22.0.0git
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 153 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 171 of file HLSLBinding.h.

References calculateBindingInfo().

◆ calculateBindingInfo() [2/2]

◆ 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.

◆ takeBoundRegs()

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

Definition at line 177 of file HLSLBinding.h.

References assert(), and LLVM_ABI.

◆ 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 158 of file HLSLBinding.h.


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