|
LLVM 24.0.0git
|
#include "DXILSignatureAnalysis.h"#include "DirectX.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/StringExtras.h"#include "llvm/Analysis/DXILMetadataAnalysis.h"#include "llvm/Frontend/HLSL/SemanticSignaturePacking.h"#include "llvm/IR/Constants.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/IntrinsicsDirectX.h"#include "llvm/IR/Module.h"#include "llvm/InitializePasses.h"#include "llvm/MC/DXContainerPSVInfo.h"#include "llvm/Support/Error.h"#include "llvm/Support/raw_ostream.h"#include <array>#include <set>Go to the source code of this file.
Variables | |
| dxil signature | analysis |
| dxil signature DXIL Semantic Signature | Analysis |
| dxil signature DXIL Semantic Signature | false |
|
static |
Definition at line 235 of file DXILSignatureAnalysis.cpp.
References llvm::dyn_cast(), E(), llvm::dxil::F16, llvm::dxil::F32, I, llvm::dxil::I1, llvm::dxil::I16, llvm::dxil::I32, llvm::dxil::EntrySignature::Inputs, llvm_unreachable, llvm::dxil::EntrySignature::Outputs, signatureError(), llvm::Error::success(), llvm::dxil::U16, and llvm::dxil::U32.
Referenced by analyzeModule().
|
static |
Definition at line 330 of file DXILSignatureAnalysis.cpp.
References analyzeAccess(), buildDependencyMap(), llvm::dyn_cast(), llvm::dyn_cast_or_null(), llvm::mdconst::dyn_extract_or_null(), E(), llvm::dxil::ModuleMetadataInfo::EntryPropertyVec, F, llvm::find_if(), I, II, llvm::hlsl::In, llvm::dxil::EntrySignature::Inputs, llvm::dxil::EntrySignature::InputVectors, instructions, isSignatureAccess(), llvm::hlsl::Out, llvm::dxil::EntrySignature::Outputs, llvm::dxil::EntrySignature::OutputVectors, parseSignature(), llvm::dxil::ModuleMetadataInfo::ShaderModelVersion, signatureError(), llvm::dxil::EntrySignature::Stage, llvm::Table, llvm::toString(), and llvm::dxil::EntrySignature::UseNative16Bit.
Referenced by collectSignatures().
|
static |
Definition at line 302 of file DXILSignatureAnalysis.cpp.
References llvm::SmallVectorImpl< T >::assign(), llvm::sampleprof::Base, llvm::dxil::EntrySignature::InputOutputMap, llvm::dxil::EntrySignature::Inputs, llvm::dxil::EntrySignature::InputVectors, IR, llvm::dxil::EntrySignature::Outputs, and llvm::dxil::EntrySignature::OutputVectors.
Referenced by analyzeModule().
|
static |
Definition at line 529 of file DXILSignatureAnalysis.cpp.
References E(), getComponentType(), llvm::Legacy, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::dxil::EntrySignature::updatePSV().
|
static |
Definition at line 512 of file DXILSignatureAnalysis.cpp.
References llvm::mcdxbc::Signature::addParam(), E(), llvm::enumerate(), getComponentType(), getContainerSemanticName(), getSystemValue(), and llvm::Legacy.
Referenced by llvm::dxil::EntrySignature::buildSignatures().
Definition at line 41 of file DXILSignatureAnalysis.cpp.
References llvm::dyn_cast_or_null(), llvm::mdconst::dyn_extract_or_null(), I, llvm::isa_and_nonnull(), signatureError(), and llvm::Error::success().
Referenced by parseSignature().
|
static |
Definition at line 392 of file DXILSignatureAnalysis.cpp.
References analyzeModule(), and llvm::toString().
Referenced by llvm::dxil::SignatureAnalysis::run(), and llvm::dxil::SignatureAnalysisWrapper::runOnModule().
|
static |
Definition at line 403 of file DXILSignatureAnalysis.cpp.
References llvm::SmallVectorImpl< T >::append(), E(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::VersionTuple::empty(), llvm::ConstantAsMetadata::get(), llvm::MDNode::get(), llvm::MDString::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt8Ty(), llvm::dxil::I32, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::dxil::EntrySignature::getAsMetadata().
|
static |
Definition at line 438 of file DXILSignatureAnalysis.cpp.
References llvm::dxil::F16, llvm::dxil::F32, llvm::dxil::I1, llvm::dxil::I16, llvm::dxil::I32, llvm::Legacy, llvm_unreachable, llvm::dxil::U16, and llvm::dxil::U32.
Referenced by buildPSVElements(), and buildSignature().
|
static |
Definition at line 488 of file DXILSignatureAnalysis.cpp.
References E(), and llvm_unreachable.
Referenced by buildSignature().
|
static |
Definition at line 460 of file DXILSignatureAnalysis.cpp.
References llvm_unreachable.
Referenced by buildSignature().
| INITIALIZE_PASS_BEGIN | ( | SignatureAnalysisWrapper | , |
| "dxil-signature-analysis" | , | ||
| "DXIL Semantic Signature Analysis" | , | ||
| false | , | ||
| true | ) |
References INITIALIZE_PASS_DEPENDENCY.
|
static |
Definition at line 66 of file DXILSignatureAnalysis.cpp.
References llvm::dxil::I1, llvm::dxil::I16, llvm::dxil::I32, llvm::dxil::U16, and llvm::dxil::U32.
Referenced by parseSignature().
|
static |
Definition at line 35 of file DXILSignatureAnalysis.cpp.
References I.
Referenced by analyzeModule().
|
static |
Definition at line 116 of file DXILSignatureAnalysis.cpp.
References llvm::hlsl::Arbitrary, checkElementNode(), llvm::dyn_cast(), llvm::dyn_cast_or_null(), E(), llvm::dxil::F16, llvm::dxil::F32, llvm::hlsl::SemanticSignatureElement::fromMetadata(), llvm::hlsl::getInterpretationKind(), llvm::hlsl::getSemanticKind(), llvm::dxil::I16, llvm::hlsl::In, llvm::hlsl::Invalid, isIntegerComponent(), llvm::hlsl::MaxSignatureRows, llvm::hlsl::NotAllocated, llvm::hlsl::Out, llvm::Triple::Pixel, signatureError(), llvm::Error::success(), llvm::hlsl::Target, llvm::dxil::U16, validateSemanticIndex(), validateSemanticType(), and llvm::Triple::Vertex.
Referenced by analyzeModule().
Definition at line 31 of file DXILSignatureAnalysis.cpp.
References llvm::createStringError(), and llvm::inconvertibleErrorCode().
Referenced by analyzeAccess(), analyzeModule(), checkElementNode(), parseSignature(), validateSemanticIndex(), and validateSemanticType().
|
static |
Definition at line 99 of file DXILSignatureAnalysis.cpp.
References E(), signatureError(), and llvm::Error::success().
Referenced by parseSignature().
|
static |
Definition at line 72 of file DXILSignatureAnalysis.cpp.
References E(), llvm::dxil::F16, llvm::dxil::F32, llvm::dxil::I16, llvm::dxil::I32, signatureError(), llvm::Error::success(), llvm::dxil::U16, and llvm::dxil::U32.
Referenced by parseSignature().
| dxil signature DXIL Semantic Signature Analysis |
Definition at line 650 of file DXILSignatureAnalysis.cpp.
| dxil signature analysis |
Definition at line 649 of file DXILSignatureAnalysis.cpp.
| dxil signature DXIL Semantic Signature false |
Definition at line 650 of file DXILSignatureAnalysis.cpp.