LLVM 22.0.0git
Macros | Functions
DXILResource.cpp File Reference
#include "llvm/Analysis/DXILResource.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsDirectX.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/DXILABI.h"
#include "llvm/Support/FormatVariadic.h"
#include <cstdint>
#include <optional>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "dxil-resource"
 

Functions

static StringRef getResourceKindName (ResourceKind RK)
 
static StringRef getElementTypeName (ElementType ET)
 
static StringRef getElementTypeNameForTemplate (ElementType ET)
 
static StringRef getSamplerTypeName (SamplerType ST)
 
static StringRef getSamplerFeedbackTypeName (SamplerFeedbackType SFT)
 
static dxil::ElementType toDXILElementType (Type *Ty, bool IsSigned)
 
static void formatTypeName (SmallString< 64 > &Dest, StringRef Name, bool IsWriteable, bool IsROV, Type *ContainedType=nullptr, bool IsSigned=true)
 
static StructTypegetOrCreateElementStruct (Type *ElemType, StringRef Name)
 
static bool isROV (dxil::ResourceKind Kind, TargetExtType *Ty)
 
static std::pair< Type *, boolgetTypedElementType (dxil::ResourceKind Kind, TargetExtType *Ty)
 
static bool isUpdateCounterIntrinsic (Function &F)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "dxil-resource"

Definition at line 28 of file DXILResource.cpp.

Function Documentation

◆ formatTypeName()

static void formatTypeName ( SmallString< 64 > &  Dest,
StringRef  Name,
bool  IsWriteable,
bool  IsROV,
Type ContainedType = nullptr,
bool  IsSigned = true 
)
static

◆ getElementTypeName()

static StringRef getElementTypeName ( ElementType  ET)
static

Definition at line 78 of file DXILResource.cpp.

References llvm_unreachable.

Referenced by llvm::dxil::ResourceTypeInfo::print().

◆ getElementTypeNameForTemplate()

static StringRef getElementTypeNameForTemplate ( ElementType  ET)
static

Definition at line 122 of file DXILResource.cpp.

References llvm_unreachable.

Referenced by formatTypeName().

◆ getOrCreateElementStruct()

static StructType * getOrCreateElementStruct ( Type ElemType,
StringRef  Name 
)
static

◆ getResourceKindName()

static StringRef getResourceKindName ( ResourceKind  RK)
static

◆ getSamplerFeedbackTypeName()

static StringRef getSamplerFeedbackTypeName ( SamplerFeedbackType  SFT)
static

Definition at line 172 of file DXILResource.cpp.

References llvm_unreachable.

Referenced by llvm::dxil::ResourceTypeInfo::print().

◆ getSamplerTypeName()

static StringRef getSamplerTypeName ( SamplerType  ST)
static

Definition at line 160 of file DXILResource.cpp.

References llvm_unreachable.

Referenced by llvm::dxil::ResourceTypeInfo::print().

◆ getTypedElementType()

static std::pair< Type *, bool > getTypedElementType ( dxil::ResourceKind  Kind,
TargetExtType Ty 
)
static

◆ isROV()

static bool isROV ( dxil::ResourceKind  Kind,
TargetExtType Ty 
)
static

◆ isUpdateCounterIntrinsic()

static bool isUpdateCounterIntrinsic ( Function F)
static

Definition at line 778 of file DXILResource.cpp.

References F.

◆ toDXILElementType()

static dxil::ElementType toDXILElementType ( Type Ty,
bool  IsSigned 
)
static