LLVM 22.0.0git
|
#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 StructType * | getOrCreateElementStruct (Type *ElemType, StringRef Name) |
static bool | isROV (dxil::ResourceKind Kind, TargetExtType *Ty) |
static std::pair< Type *, bool > | getTypedElementType (dxil::ResourceKind Kind, TargetExtType *Ty) |
static bool | isUpdateCounterIntrinsic (Function &F) |
#define DEBUG_TYPE "dxil-resource" |
Definition at line 28 of file DXILResource.cpp.
|
static |
Definition at line 246 of file DXILResource.cpp.
References assert(), getElementTypeNameForTemplate(), llvm::dxil::Invalid, Name, and toDXILElementType().
Referenced by llvm::dxil::ResourceTypeInfo::createElementStruct().
|
static |
Definition at line 78 of file DXILResource.cpp.
References llvm_unreachable.
Referenced by llvm::dxil::ResourceTypeInfo::print().
|
static |
Definition at line 122 of file DXILResource.cpp.
References llvm_unreachable.
Referenced by formatTypeName().
|
static |
Definition at line 277 of file DXILResource.cpp.
References llvm::StructType::create(), llvm::Type::getContext(), llvm::StructType::getElementType(), llvm::StructType::getNumElements(), llvm::StructType::getTypeByName(), and Name.
Referenced by llvm::dxil::ResourceTypeInfo::createElementStruct().
|
static |
Definition at line 33 of file DXILResource.cpp.
References llvm_unreachable.
Referenced by llvm::dxil::ResourceTypeInfo::createElementStruct(), and llvm::dxil::ResourceTypeInfo::print().
|
static |
Definition at line 172 of file DXILResource.cpp.
References llvm_unreachable.
Referenced by llvm::dxil::ResourceTypeInfo::print().
|
static |
Definition at line 160 of file DXILResource.cpp.
References llvm_unreachable.
Referenced by llvm::dxil::ResourceTypeInfo::print().
|
static |
Definition at line 483 of file DXILResource.cpp.
References llvm::dxil::CBuffer, llvm::dxil::FeedbackTexture2D, llvm::dxil::FeedbackTexture2DArray, llvm::dxil::Invalid, llvm_unreachable, llvm::dxil::NumEntries, llvm::dxil::RawBuffer, llvm::dxil::RTAccelerationStructure, llvm::dxil::Sampler, llvm::dxil::StructuredBuffer, llvm::dxil::TBuffer, llvm::dxil::Texture1D, llvm::dxil::Texture1DArray, llvm::dxil::Texture2D, llvm::dxil::Texture2DArray, llvm::dxil::Texture2DMS, llvm::dxil::Texture2DMSArray, llvm::dxil::Texture3D, llvm::dxil::TextureCube, llvm::dxil::TextureCubeArray, and llvm::dxil::TypedBuffer.
Referenced by llvm::dxil::ResourceTypeInfo::getTyped().
|
static |
Definition at line 416 of file DXILResource.cpp.
References llvm::dxil::CBuffer, llvm::dxil::FeedbackTexture2D, llvm::dxil::FeedbackTexture2DArray, llvm::dxil::Invalid, llvm_unreachable, llvm::dxil::NumEntries, llvm::dxil::RawBuffer, llvm::dxil::RTAccelerationStructure, llvm::dxil::Sampler, llvm::dxil::StructuredBuffer, llvm::dxil::TBuffer, llvm::dxil::Texture1D, llvm::dxil::Texture1DArray, llvm::dxil::Texture2D, llvm::dxil::Texture2DArray, llvm::dxil::Texture2DMS, llvm::dxil::Texture2DMSArray, llvm::dxil::Texture3D, llvm::dxil::TextureCube, llvm::dxil::TextureCubeArray, and llvm::dxil::TypedBuffer.
Referenced by llvm::dxil::ResourceTypeInfo::getUAV().
Definition at line 778 of file DXILResource.cpp.
References F.
|
static |
Definition at line 182 of file DXILResource.cpp.
References llvm::Type::getIntegerBitWidth(), llvm::Type::getScalarType(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isHalfTy(), and llvm::Type::isIntegerTy().
Referenced by formatTypeName(), and llvm::dxil::ResourceTypeInfo::getTyped().