LLVM: lib/Target/DirectX/DXILRootSignature.cpp File Reference (original) (raw)

Go to the source code of this file.

Variables
dxil root signature analysis
dxil root signature DXIL Root Signature Analysis
dxil root signature DXIL Root Signature true

analyzeModule()

Root Signature are specified as following in the metadata:

!dx.rootsignatures = !{!2} ; list of function/root signature pairs !2 = !{ ptr @main, !3 } ; function, root signature !3 = !{ !4, !5, !6, !7 } ; list of root signature elements

So for each MDNode inside dx.rootsignatures NamedMDNode (the Root parameter of this function), the parsing process needs to loop through each of its operands and process the function, signature pair.

Definition at line 53 of file DXILRootSignature.cpp.

References assert(), llvm::dyn_cast(), extractMdIntValue(), F, llvm::MDOperand::get(), llvm::NamedMDNode::getNumOperands(), llvm::ValueAsMetadata::getValue(), llvm::handleAllErrors(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::NamedMDNode::operands(), llvm::hlsl::rootsig::MetadataParser::ParseRootSignature(), reportError(), llvm::Triple::RootSignature, and llvm::Expected< T >::takeError().

Referenced by llvm::dxil::RootSignatureAnalysis::run(), and llvm::dxil::RootSignatureAnalysisWrapper::runOnModule().

extractMdIntValue()

INITIALIZE_PASS_BEGIN()

reportError()

Analysis

dxil root signature DXIL Root Signature Analysis

analysis

dxil root signature analysis

true

dxil root signature DXIL Root Signature true