|
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 dxil::ElementType | toDXILStorageType (dxil::ElementType ET) |
| 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 Type * | getTypeWithoutPadding (Type *Ty) |
| 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 254 of file DXILResource.cpp.
References assert(), llvm::cast(), llvm::dyn_cast(), getElementTypeNameForTemplate(), llvm::dxil::Invalid, llvm::isa(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), 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 293 of file DXILResource.cpp.
References llvm::StructType::create(), llvm::Type::getContext(), and llvm::StructType::getTypeByName().
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 538 of file DXILResource.cpp.
References llvm::cast(), 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().
Definition at line 300 of file DXILResource.cpp.
References llvm::dyn_cast(), llvm::ArrayType::get(), llvm::StructType::get(), getTypeWithoutPadding(), llvm::isa(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::dxil::ResourceTypeInfo::createElementStruct(), and getTypeWithoutPadding().
|
static |
Definition at line 471 of file DXILResource.cpp.
References llvm::cast(), 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 838 of file DXILResource.cpp.
References F.
|
static |
Definition at line 182 of file DXILResource.cpp.
Referenced by formatTypeName(), and llvm::dxil::ResourceTypeInfo::getTyped().
|
static |
Definition at line 209 of file DXILResource.cpp.
References llvm::dxil::F64, llvm::dxil::I64, llvm::dxil::SNormF64, llvm::dxil::U32, llvm::dxil::U64, and llvm::dxil::UNormF64.
Referenced by llvm::dxil::ResourceTypeInfo::getTyped().