LLVM 22.0.0git
|
#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 ResourceBinding & | getBinding () const |
TargetExtType * | getHandleTy () const |
StringRef | getName () const |
bool | hasSymbol () const |
LLVM_ABI GlobalVariable * | createSymbol (Module &M, StructType *Ty) |
LLVM_ABI MDTuple * | getAsMetadata (Module &M, dxil::ResourceTypeInfo &RTI) const |
LLVM_ABI std::pair< uint32_t, uint32_t > | getAnnotateProps (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 |
Definition at line 343 of file DXILResource.h.
|
inline |
Definition at line 381 of file DXILResource.h.
References Binding.
GlobalVariable * ResourceInfo::createSymbol | ( | Module & | M, |
StructType * | Ty | ||
) |
Definition at line 600 of file DXILResource.cpp.
References assert(), llvm::GlobalValue::ExternalLinkage, llvm::ArrayType::get(), llvm::dxil::ResourceInfo::ResourceBinding::Size, and Size.
std::pair< uint32_t, uint32_t > ResourceInfo::getAnnotateProps | ( | Module & | M, |
dxil::ResourceTypeInfo & | RTI | ||
) | const |
Definition at line 683 of file DXILResource.cpp.
References llvm::dxil::ResourceTypeInfo::StructInfo::AlignLog2, llvm::dxil::Comparison, DL, llvm::dxil::ResourceTypeInfo::TypedInfo::ElementCount, llvm::dxil::ResourceTypeInfo::TypedInfo::ElementTy, llvm::dxil::ResourceTypeInfo::getCBufferSize(), llvm::dxil::ResourceTypeInfo::getFeedbackType(), 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::ResourceTypeInfo::StructInfo::Stride, and llvm::to_underlying().
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().
|
inline |
Definition at line 393 of file DXILResource.h.
References Binding.
Referenced by reportOverlappingBinding(), and reportOverlappingError().
|
inline |
Definition at line 394 of file DXILResource.h.
Referenced by llvm::DXILResourceMap::print().
|
inline |
Definition at line 395 of file DXILResource.h.
Referenced by reportOverlappingError().
|
inline |
Definition at line 389 of file DXILResource.h.
References CounterDirection, and llvm::dxil::Unknown.
Referenced by getAnnotateProps(), and getAsMetadata().
|
inline |
Definition at line 397 of file DXILResource.h.
|
inline |
Definition at line 408 of file DXILResource.h.
References RHS.
|
inline |
Definition at line 409 of file DXILResource.h.
|
inline |
Definition at line 404 of file DXILResource.h.
void ResourceInfo::print | ( | raw_ostream & | OS, |
dxil::ResourceTypeInfo & | RTI, | ||
const DataLayout & | DL | ||
) | const |
Definition at line 730 of file DXILResource.cpp.
References CounterDirection, llvm::dxil::Decrement, DL, llvm::StringRef::empty(), GloballyCoherent, llvm::dxil::Increment, llvm::dxil::Invalid, llvm::dxil::ResourceInfo::ResourceBinding::LowerBound, OS, llvm::dxil::ResourceTypeInfo::print(), llvm::Value::printAsOperand(), llvm::dxil::ResourceInfo::ResourceBinding::RecordID, llvm::dxil::ResourceInfo::ResourceBinding::Size, llvm::dxil::ResourceInfo::ResourceBinding::Space, and llvm::dxil::Unknown.
Referenced by llvm::DXILResourceMap::print().
|
inline |
Definition at line 387 of file DXILResource.h.
References Binding.
ResourceCounterDirection llvm::dxil::ResourceInfo::CounterDirection = ResourceCounterDirection::Unknown |
Definition at line 379 of file DXILResource.h.
Referenced by hasCounter(), and print().
bool llvm::dxil::ResourceInfo::GloballyCoherent = false |
Definition at line 378 of file DXILResource.h.
Referenced by getAnnotateProps(), getAsMetadata(), and print().