LLVM 22.0.0git
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::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 reportInvalidHandleTyError (Module &M, ResourceClass RC, ResourceInfo::ResourceBinding Binding)
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()

◆ INITIALIZE_PASS_BEGIN()

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

◆ reportErrors()

◆ reportInvalidDirection()

◆ reportInvalidHandleTyError()

void reportInvalidHandleTyError ( Module & M,
ResourceClass RC,
ResourceInfo::ResourceBinding Binding )
static

◆ reportOverlappingBinding()

◆ reportOverlappingError()

◆ reportOverlappingRegisters()

◆ reportRegNotBound()

◆ toResourceClass()

◆ tripleToVisibility()

◆ validateRootSignature()

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 343 of file DXILPostOptimizationValidation.cpp.

◆ false

DXIL Post Optimization false

Definition at line 344 of file DXILPostOptimizationValidation.cpp.

◆ Validation

DXIL Post Optimization Validation

Definition at line 344 of file DXILPostOptimizationValidation.cpp.