50class DXILTranslateMetadataLegacy :
public ModulePass {
53 explicit DXILTranslateMetadataLegacy() :
ModulePass(
ID) {}
55 StringRef getPassName()
const override {
return "DXIL Translate Metadata"; }
63 bool runOnModule(
Module &M)
override {
65 getAnalysis<DXILResourceMDWrapper>().getDXILResource();
67 getAnalysis<ShaderFlagsAnalysisWrapper>().getShaderFlags();
76char DXILTranslateMetadataLegacy::ID = 0;
79 return new DXILTranslateMetadataLegacy();
83 "DXIL Translate Metadata",
false,
false)
This file contains the declarations for the subclasses of Constant, which represent the different fla...
Module.h This file contains the declarations for the Module class.
ModuleAnalysisManager MAM
#define INITIALIZE_PASS_DEPENDENCY(depName)
#define INITIALIZE_PASS_END(passName, arg, name, cfg, analysis)
#define INITIALIZE_PASS_BEGIN(passName, arg, name, cfg, analysis)
StringSet - A set-like wrapper for the StringMap.
A container for analyses that lazily runs them and caches their results.
PassT::Result & getResult(IRUnitT &IR, ExtraArgTs... ExtraArgs)
Get the result of an analysis pass for a given IR unit.
Represent the analysis usage information of a pass.
AnalysisUsage & addRequired()
void setPreservesAll()
Set by analyses that do not transform their input at all.
Analysis pass that exposes the DXILResource for a module.
The legacy pass manager's analysis pass to compute DXIL resource information.
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
static PreservedAnalyses all()
Construct a special preserved set that preserves all passes.
StringRef - Represent a constant reference to a string, i.e.
Represents a version number in the form major[.minor[.subminor[.build]]].
void write(Module &M) const
Wrapper pass for the legacy pass manager.
void update(VersionTuple ValidatorVer)
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
void createShaderModelMD(Module &M)
void createDXILVersionMD(Module &M)
void createEntryMD(Module &M, const uint64_t ShaderFlags)
This is an optimization pass for GlobalISel generic memory operations.
ModulePass * createDXILTranslateMetadataLegacyPass()
Pass to emit metadata for DXIL.