13#ifndef LLVM_TARGET_DIRECTX_DXILRESOURCE_H
14#define LLVM_TARGET_DIRECTX_DXILRESOURCE_H
29class CBufferDataLayout;
47 bool HasCounter =
false,
uint32_t SampleCount = 0);
73 bool GloballyCoherent;
83 HasCounter(
false), IsROV(R.getIsROV()), ExtProps{R.getElementType()} {}
106 bool empty()
const {
return Data.empty(); }
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
#define LLVM_DUMP_METHOD
Mark debug helper function definitions like dump() that should not be stripped from debug builds.
Machine Check Debug Module
This file defines the SmallVector class.
This is an important class for using LLVM in a threaded context.
A Module instance is used to store all the information related to an LLVM module.
MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memo...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
void setSize(CBufferDataLayout &DL)
void print(raw_ostream &O) const
static StringRef getElementTypeName(dxil::ElementType CompType)
void print(raw_ostream &O, StringRef IDPrefix, StringRef BindingPrefix) const
static void printElementType(dxil::ResourceKind Kind, dxil::ElementType CompType, unsigned Alignment, raw_ostream &OS)
static void printKind(dxil::ResourceKind Kind, unsigned Alignment, raw_ostream &OS, bool SRV=false, bool HasCounter=false, uint32_t SampleCount=0)
static StringRef getKindName(dxil::ResourceKind Kind)
void write(LLVMContext &Ctx, MutableArrayRef< Metadata * > Entries) const
void print(raw_ostream &O) const
MDNode * write(Module &M) const
ResourceTable(StringRef Name)
LLVM_DUMP_METHOD void dump() const
Metadata * writeUAVs(Module &M) const
Metadata * writeCBuffers(Module &M) const
void printUAVs(raw_ostream &OS) const
void printCBuffers(raw_ostream &OS) const
UAVResource(uint32_t I, hlsl::FrontendResource R)
void print(raw_ostream &O) const
This class implements an extremely fast bulk output stream that can only output to a stream.
ResourceKind
The kind of resource for an SRV or UAV resource.
ElementType
The element type of an SRV or UAV resource.
This is an optimization pass for GlobalISel generic memory operations.
@ StructuredBufferElementStride
MDNode * write(LLVMContext &Ctx) const
std::optional< dxil::ElementType > ElementType