LLVM 22.0.0git
DXILTranslateMetadata.cpp File Reference

Go to the source code of this file.

Typedefs

using InstructionMDList = std::array<unsigned, 7>
using GlobalMDList = std::array<StringLiteral, 7>

Functions

static NamedMDNodeemitResourceMetadata (Module &M, DXILResourceMap &DRM, DXILResourceTypeMap &DRTM)
static StringRef getShortShaderStage (Triple::EnvironmentType Env)
static uint32_t getShaderStage (Triple::EnvironmentType Env)
static SmallVector< Metadata * > getTagValueAsMetadata (EntryPropsTag Tag, uint64_t Value, LLVMContext &Ctx)
static MDTuplegetEntryPropAsMetadata (const EntryProperties &EP, uint64_t EntryShaderFlags, const Triple::EnvironmentType ShaderProfile)
static MDTupleconstructEntryMetadata (const Function *EntryFn, MDTuple *Signatures, MDNode *Resources, MDTuple *Properties, LLVMContext &Ctx)
static MDTupleemitEntryMD (const EntryProperties &EP, MDTuple *Signatures, MDNode *MDResources, const uint64_t EntryShaderFlags, const Triple::EnvironmentType ShaderProfile)
static void emitValidatorVersionMD (Module &M, const ModuleMetadataInfo &MMDI)
static void emitShaderModelVersionMD (Module &M, const ModuleMetadataInfo &MMDI)
static void emitDXILVersionTupleMD (Module &M, const ModuleMetadataInfo &MMDI)
static MDTupleemitTopLevelLibraryNode (Module &M, MDNode *RMD, uint64_t ShaderFlags)
static void translateBranchMetadata (Module &M, Instruction *BBTerminatorInst)
static bool isLoopMDCompatible (Module &M, Metadata *MD)
static void translateLoopMetadata (Module &M, Instruction *I, MDNode *BaseMD)
static InstructionMDList getCompatibleInstructionMDs (llvm::Module &M)
static void translateInstructionMetadata (Module &M)
static void cleanModuleFlags (Module &M)
static void translateGlobalMetadata (Module &M, DXILResourceMap &DRM, DXILResourceTypeMap &DRTM, const ModuleShaderFlags &ShaderFlags, const ModuleMetadataInfo &MMDI)
 INITIALIZE_PASS_BEGIN (DXILTranslateMetadataLegacy, "dxil-translate-metadata", "DXIL Translate Metadata", false, false) INITIALIZE_PASS_END(DXILTranslateMetadataLegacy

Variables

static GlobalMDList CompatibleNamedModuleMDs
dxil translate metadata
dxil translate DXIL Translate Metadata
dxil translate DXIL Translate false

Typedef Documentation

◆ GlobalMDList

using GlobalMDList = std::array<StringLiteral, 7>

Definition at line 475 of file DXILTranslateMetadata.cpp.

◆ InstructionMDList

using InstructionMDList = std::array<unsigned, 7>

Definition at line 418 of file DXILTranslateMetadata.cpp.

Function Documentation

◆ cleanModuleFlags()

void cleanModuleFlags ( Module & M)
static

◆ constructEntryMetadata()

MDTuple * constructEntryMetadata ( const Function * EntryFn,
MDTuple * Signatures,
MDNode * Resources,
MDTuple * Properties,
LLVMContext & Ctx )
static

◆ emitDXILVersionTupleMD()

◆ emitEntryMD()

MDTuple * emitEntryMD ( const EntryProperties & EP,
MDTuple * Signatures,
MDNode * MDResources,
const uint64_t EntryShaderFlags,
const Triple::EnvironmentType ShaderProfile )
static

◆ emitResourceMetadata()

◆ emitShaderModelVersionMD()

◆ emitTopLevelLibraryNode()

MDTuple * emitTopLevelLibraryNode ( Module & M,
MDNode * RMD,
uint64_t ShaderFlags )
static

◆ emitValidatorVersionMD()

◆ getCompatibleInstructionMDs()

InstructionMDList getCompatibleInstructionMDs ( llvm::Module & M)
static

Definition at line 420 of file DXILTranslateMetadata.cpp.

Referenced by translateInstructionMetadata().

◆ getEntryPropAsMetadata()

◆ getShaderStage()

uint32_t getShaderStage ( Triple::EnvironmentType Env)
static

Definition at line 151 of file DXILTranslateMetadata.cpp.

References llvm::Triple::Pixel.

Referenced by getEntryPropAsMetadata().

◆ getShortShaderStage()

◆ getTagValueAsMetadata()

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DXILTranslateMetadataLegacy ,
"dxil-translate-metadata" ,
"DXIL Translate Metadata" ,
false ,
false  )

◆ isLoopMDCompatible()

◆ translateBranchMetadata()

◆ translateGlobalMetadata()

◆ translateInstructionMetadata()

◆ translateLoopMetadata()

Variable Documentation

◆ CompatibleNamedModuleMDs

GlobalMDList CompatibleNamedModuleMDs
static
Initial value:
= {
"llvm.ident", "llvm.module.flags", "dx.resources", "dx.valver",
"dx.shaderModel", "dx.version", "dx.entryPoints",
}

Definition at line 480 of file DXILTranslateMetadata.cpp.

Referenced by translateGlobalMetadata().

◆ false

dxil translate DXIL Translate false

Definition at line 607 of file DXILTranslateMetadata.cpp.

◆ Metadata

dxil translate DXIL Translate Metadata

Definition at line 607 of file DXILTranslateMetadata.cpp.

Referenced by llvm::TimeTraceProfiler::begin().

◆ metadata

dxil translate metadata

Definition at line 606 of file DXILTranslateMetadata.cpp.