LLVM 20.0.0git
Classes | Public Member Functions | List of all members
llvm::dxil::ResourceBindingInfo Class Reference

#include "llvm/Analysis/DXILResource.h"

Classes

struct  ResourceBinding
 

Public Member Functions

 ResourceBindingInfo (uint32_t RecordID, uint32_t Space, uint32_t LowerBound, uint32_t Size, TargetExtType *HandleTy, GlobalVariable *Symbol=nullptr)
 
void setBindingID (unsigned ID)
 
const ResourceBindinggetBinding () const
 
TargetExtTypegetHandleTy () const
 
const StringRef getName () const
 
bool hasSymbol () const
 
GlobalVariablecreateSymbol (Module &M, StructType *Ty, StringRef Name="")
 
MDTuplegetAsMetadata (Module &M, dxil::ResourceTypeInfo &RTI) const
 
std::pair< uint32_t, uint32_tgetAnnotateProps (Module &M, dxil::ResourceTypeInfo &RTI) const
 
bool operator== (const ResourceBindingInfo &RHS) const
 
bool operator!= (const ResourceBindingInfo &RHS) const
 
bool operator< (const ResourceBindingInfo &RHS) const
 
void print (raw_ostream &OS, dxil::ResourceTypeInfo &RTI, const DataLayout &DL) const
 

Detailed Description

Definition at line 309 of file DXILResource.h.

Constructor & Destructor Documentation

◆ ResourceBindingInfo()

llvm::dxil::ResourceBindingInfo::ResourceBindingInfo ( uint32_t  RecordID,
uint32_t  Space,
uint32_t  LowerBound,
uint32_t  Size,
TargetExtType HandleTy,
GlobalVariable Symbol = nullptr 
)
inline

Definition at line 336 of file DXILResource.h.

Member Function Documentation

◆ createSymbol()

GlobalVariable * ResourceBindingInfo::createSymbol ( Module M,
StructType Ty,
StringRef  Name = "" 
)

Definition at line 527 of file DXILResource.cpp.

References assert(), llvm::GlobalValue::ExternalLinkage, and Name.

◆ getAnnotateProps()

std::pair< uint32_t, uint32_t > ResourceBindingInfo::getAnnotateProps ( Module M,
dxil::ResourceTypeInfo RTI 
) const

◆ getAsMetadata()

MDTuple * ResourceBindingInfo::getAsMetadata ( Module M,
dxil::ResourceTypeInfo RTI 
) const

Definition at line 536 of file DXILResource.cpp.

References assert(), DL, llvm::dxil::ResourceTypeInfo::TypedInfo::ElementTy, llvm::dxil::ElementType, llvm::SmallVectorBase< Size_T >::empty(), llvm::ConstantAsMetadata::get(), llvm::MDNode::get(), llvm::MDString::get(), llvm::ValueAsMetadata::get(), llvm::dxil::ResourceTypeInfo::getCBufferSize(), llvm::dxil::ResourceTypeInfo::getFeedbackType(), llvm::Type::getInt1Ty(), llvm::Type::getInt32Ty(), llvm::Constant::getIntegerValue(), llvm::dxil::ResourceTypeInfo::getMultiSampleCount(), llvm::Value::getName(), llvm::dxil::ResourceTypeInfo::getResourceKind(), llvm::dxil::ResourceTypeInfo::getSamplerType(), llvm::dxil::ResourceTypeInfo::getStruct(), llvm::dxil::ResourceTypeInfo::getTyped(), llvm::dxil::ResourceTypeInfo::getUAV(), llvm::dxil::ResourceTypeInfo::UAVInfo::GloballyCoherent, llvm::dxil::ResourceTypeInfo::UAVInfo::HasCounter, llvm::dxil::ResourceTypeInfo::isCBuffer(), llvm::dxil::ResourceTypeInfo::isFeedback(), llvm::dxil::ResourceTypeInfo::isMultiSample(), llvm::dxil::ResourceTypeInfo::UAVInfo::IsROV, llvm::dxil::ResourceTypeInfo::isSampler(), llvm::dxil::ResourceTypeInfo::isStruct(), llvm::dxil::ResourceTypeInfo::isTyped(), llvm::dxil::ResourceTypeInfo::isUAV(), llvm::dxil::ResourceBindingInfo::ResourceBinding::LowerBound, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::dxil::ResourceBindingInfo::ResourceBinding::RecordID, llvm::dxil::SamplerFeedbackKind, llvm::dxil::ResourceBindingInfo::ResourceBinding::Size, llvm::dxil::ResourceBindingInfo::ResourceBinding::Space, llvm::dxil::ResourceTypeInfo::StructInfo::Stride, llvm::dxil::StructuredBufferStride, and llvm::to_underlying().

◆ getBinding()

const ResourceBinding & llvm::dxil::ResourceBindingInfo::getBinding ( ) const
inline

Definition at line 344 of file DXILResource.h.

◆ getHandleTy()

TargetExtType * llvm::dxil::ResourceBindingInfo::getHandleTy ( ) const
inline

Definition at line 345 of file DXILResource.h.

Referenced by llvm::DXILBindingMap::print().

◆ getName()

const StringRef llvm::dxil::ResourceBindingInfo::getName ( ) const
inline

Definition at line 346 of file DXILResource.h.

◆ hasSymbol()

bool llvm::dxil::ResourceBindingInfo::hasSymbol ( ) const
inline

Definition at line 348 of file DXILResource.h.

◆ operator!=()

bool llvm::dxil::ResourceBindingInfo::operator!= ( const ResourceBindingInfo RHS) const
inline

Definition at line 359 of file DXILResource.h.

References RHS.

◆ operator<()

bool llvm::dxil::ResourceBindingInfo::operator< ( const ResourceBindingInfo RHS) const
inline

Definition at line 362 of file DXILResource.h.

References RHS.

◆ operator==()

bool llvm::dxil::ResourceBindingInfo::operator== ( const ResourceBindingInfo RHS) const
inline

Definition at line 355 of file DXILResource.h.

References RHS.

◆ print()

void ResourceBindingInfo::print ( raw_ostream OS,
dxil::ResourceTypeInfo RTI,
const DataLayout DL 
) const

◆ setBindingID()

void llvm::dxil::ResourceBindingInfo::setBindingID ( unsigned  ID)
inline

Definition at line 342 of file DXILResource.h.


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