17#define DEBUG_TYPE "dxil-metadata-analysis"
28 NamedMDNode *ValidatorVerNode = M.getNamedMetadata(
"dx.valver");
29 if (ValidatorVerNode) {
30 auto *ValVerMD = cast<MDNode>(ValidatorVerNode->
getOperand(0));
31 auto *MajorMD = mdconst::extract<ConstantInt>(ValVerMD->getOperand(0));
32 auto *MinorMD = mdconst::extract<ConstantInt>(ValVerMD->getOperand(1));
34 VersionTuple(MajorMD->getZExtValue(), MinorMD->getZExtValue());
92 OS <<
"No module metadata info has been built!\n";
95 MetadataInfo->print(
dbgs());
98#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
104 "DXIL Module Metadata analysis",
false,
true)
This file implements a class to represent arbitrary precision integral constant values and operations...
#define LLVM_DUMP_METHOD
Mark debug helper function definitions like dump() that should not be stripped from debug builds.
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.
#define INITIALIZE_PASS(passName, arg, name, cfg, analysis)
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.
void setPreservesAll()
Set by analyses that do not transform their input at all.
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.
MDNode * getOperand(unsigned i) const
static PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
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.
Triple - Helper class for working with autoconf configuration names.
static StringRef getEnvironmentTypeName(EnvironmentType Kind)
Get the canonical name for the Kind environment.
Represents a version number in the form major[.minor[.subminor[.build]]].
std::string getAsString() const
Retrieve a string representation of the version number.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
void initializeDXILMetadataAnalysisWrapperPassPass(PassRegistry &)
A special type used by analysis passes to provide an address that identifies that particular analysis...