LLVM 22.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::dxil::ResourceInfo Class Reference

#include "llvm/Analysis/DXILResource.h"

Classes

struct  ResourceBinding
 

Public Member Functions

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

Public Attributes

bool GloballyCoherent = false
 
ResourceCounterDirection CounterDirection = ResourceCounterDirection::Unknown
 

Detailed Description

Definition at line 343 of file DXILResource.h.

Constructor & Destructor Documentation

◆ ResourceInfo()

llvm::dxil::ResourceInfo::ResourceInfo ( uint32_t  RecordID,
uint32_t  Space,
uint32_t  LowerBound,
uint32_t  Size,
TargetExtType HandleTy,
StringRef  Name = "",
GlobalVariable Symbol = nullptr 
)
inline

Definition at line 381 of file DXILResource.h.

References Binding.

Member Function Documentation

◆ createSymbol()

GlobalVariable * ResourceInfo::createSymbol ( Module M,
StructType Ty 
)

◆ getAnnotateProps()

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

◆ getAsMetadata()

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

Definition at line 613 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::dxil::ResourceTypeInfo::getResourceKind(), llvm::dxil::ResourceTypeInfo::getSamplerType(), llvm::dxil::ResourceTypeInfo::getStruct(), llvm::dxil::ResourceTypeInfo::getTyped(), llvm::dxil::ResourceTypeInfo::getUAV(), GloballyCoherent, 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::ResourceInfo::ResourceBinding::LowerBound, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::dxil::ResourceInfo::ResourceBinding::RecordID, llvm::dxil::SamplerFeedbackKind, llvm::dxil::ResourceInfo::ResourceBinding::Size, llvm::dxil::ResourceInfo::ResourceBinding::Space, llvm::dxil::ResourceTypeInfo::StructInfo::Stride, llvm::dxil::StructuredBufferStride, and llvm::to_underlying().

◆ getBinding()

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

Definition at line 393 of file DXILResource.h.

References Binding.

Referenced by reportOverlappingBinding(), and reportOverlappingError().

◆ getHandleTy()

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

Definition at line 394 of file DXILResource.h.

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

◆ getName()

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

Definition at line 395 of file DXILResource.h.

Referenced by reportOverlappingError().

◆ hasCounter()

bool llvm::dxil::ResourceInfo::hasCounter ( ) const
inline

Definition at line 389 of file DXILResource.h.

References CounterDirection, and llvm::dxil::Unknown.

Referenced by getAnnotateProps(), and getAsMetadata().

◆ hasSymbol()

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

Definition at line 397 of file DXILResource.h.

◆ operator!=()

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

Definition at line 408 of file DXILResource.h.

References RHS.

◆ operator<()

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

Definition at line 409 of file DXILResource.h.

References Binding, and RHS.

◆ operator==()

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

Definition at line 404 of file DXILResource.h.

References Binding, and RHS.

◆ print()

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

◆ setBindingID()

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

Definition at line 387 of file DXILResource.h.

References Binding.

Member Data Documentation

◆ CounterDirection

ResourceCounterDirection llvm::dxil::ResourceInfo::CounterDirection = ResourceCounterDirection::Unknown

Definition at line 379 of file DXILResource.h.

Referenced by hasCounter(), and print().

◆ GloballyCoherent

bool llvm::dxil::ResourceInfo::GloballyCoherent = false

Definition at line 378 of file DXILResource.h.

Referenced by getAnnotateProps(), getAsMetadata(), and print().


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