LLVM 22.0.0git
Macros | Functions | Variables
DXILPostOptimizationValidation.cpp File Reference
#include "DXILPostOptimizationValidation.h"
#include "DXILRootSignature.h"
#include "DXILShaderFlags.h"
#include "DirectX.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Analysis/DXILMetadataAnalysis.h"
#include "llvm/Analysis/DXILResource.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicsDirectX.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/DXILABI.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "dxil-post-optimization-validation"
 

Functions

static ResourceClass toResourceClass (dxbc::DescriptorRangeType RangeType)
 
static ResourceClass toResourceClass (dxbc::RootParameterType Type)
 
static void reportInvalidDirection (Module &M, DXILResourceMap &DRM)
 
static void reportOverlappingError (Module &M, ResourceInfo R1, ResourceInfo R2)
 
static void reportOverlappingBinding (Module &M, DXILResourceMap &DRM)
 
static void reportOverlappingRegisters (Module &M, const llvm::hlsl::Binding &R1, const llvm::hlsl::Binding &R2)
 
static void reportRegNotBound (Module &M, ResourceClass Class, const llvm::dxil::ResourceInfo::ResourceBinding &Unbound)
 
static dxbc::ShaderVisibility tripleToVisibility (llvm::Triple::EnvironmentType ET)
 
static void validateRootSignature (Module &M, const mcdxbc::RootSignatureDesc &RSD, dxil::ModuleMetadataInfo &MMI, DXILResourceMap &DRM, DXILResourceTypeMap &DRTM)
 
static mcdxbc::RootSignatureDescgetRootSignature (RootSignatureBindingInfo &RSBI, dxil::ModuleMetadataInfo &MMI)
 
static void reportErrors (Module &M, DXILResourceMap &DRM, DXILResourceBindingInfo &DRBI, RootSignatureBindingInfo &RSBI, dxil::ModuleMetadataInfo &MMI, DXILResourceTypeMap &DRTM)
 
 INITIALIZE_PASS_BEGIN (DXILPostOptimizationValidationLegacy, DEBUG_TYPE, "DXIL Post Optimization Validation", false, false) INITIALIZE_PASS_END(DXILPostOptimizationValidationLegacy
 

Variables

 DEBUG_TYPE
 
DXIL Post Optimization Validation
 
DXIL Post Optimization false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "dxil-post-optimization-validation"

Definition at line 23 of file DXILPostOptimizationValidation.cpp.

Function Documentation

◆ getRootSignature()

static mcdxbc::RootSignatureDesc * getRootSignature ( RootSignatureBindingInfo RSBI,
dxil::ModuleMetadataInfo MMI 
)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DXILPostOptimizationValidationLegacy  ,
DEBUG_TYPE  ,
"DXIL Post Optimization Validation"  ,
false  ,
false   
)

◆ reportErrors()

static void reportErrors ( Module M,
DXILResourceMap DRM,
DXILResourceBindingInfo DRBI,
RootSignatureBindingInfo RSBI,
dxil::ModuleMetadataInfo MMI,
DXILResourceTypeMap DRTM 
)
static

◆ reportInvalidDirection()

static void reportInvalidDirection ( Module M,
DXILResourceMap DRM 
)
static

◆ reportOverlappingBinding()

static void reportOverlappingBinding ( Module M,
DXILResourceMap DRM 
)
static

◆ reportOverlappingError()

static void reportOverlappingError ( Module M,
ResourceInfo  R1,
ResourceInfo  R2 
)
static

◆ reportOverlappingRegisters()

static void reportOverlappingRegisters ( Module M,
const llvm::hlsl::Binding R1,
const llvm::hlsl::Binding R2 
)
static

◆ reportRegNotBound()

static void reportRegNotBound ( Module M,
ResourceClass  Class,
const llvm::dxil::ResourceInfo::ResourceBinding Unbound 
)
static

◆ toResourceClass() [1/2]

static ResourceClass toResourceClass ( dxbc::DescriptorRangeType  RangeType)
static

Definition at line 28 of file DXILPostOptimizationValidation.cpp.

References llvm_unreachable.

Referenced by validateRootSignature().

◆ toResourceClass() [2/2]

static ResourceClass toResourceClass ( dxbc::RootParameterType  Type)
static

Definition at line 43 of file DXILPostOptimizationValidation.cpp.

References llvm_unreachable.

◆ tripleToVisibility()

static dxbc::ShaderVisibility tripleToVisibility ( llvm::Triple::EnvironmentType  ET)
static

◆ validateRootSignature()

static void validateRootSignature ( Module M,
const mcdxbc::RootSignatureDesc RSD,
dxil::ModuleMetadataInfo MMI,
DXILResourceMap DRM,
DXILResourceTypeMap DRTM 
)
static

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 331 of file DXILPostOptimizationValidation.cpp.

◆ false

DXIL Post Optimization false

Definition at line 332 of file DXILPostOptimizationValidation.cpp.

◆ Validation

DXIL Post Optimization Validation

Definition at line 332 of file DXILPostOptimizationValidation.cpp.