namespace RuntimeMD {
// Version and revision of runtime metadata
- const unsigned char MDVersion = 2;
- const unsigned char MDRevision = 1;
+ const uint32_t MDVersion = 2;
+ const uint32_t MDRevision = 1;
// Name of keys for runtime metadata.
namespace KeyName {
struct Metadata {
std::string Name;
std::string Language;
- std::vector<uint8_t> LanguageVersion;
+ std::vector<uint32_t> LanguageVersion;
std::vector<uint32_t> ReqdWorkGroupSize;
std::vector<uint32_t> WorkGroupSizeHint;
std::string VecTypeHint;
// In-memory representation of program information.
struct Metadata {
- std::vector<uint8_t> MDVersionSeq;
+ std::vector<uint32_t> MDVersionSeq;
IsaInfo::Metadata IsaInfo;
std::vector<std::string> PrintfInfo;
std::vector<Kernel::Metadata> Kernels;
CheckRuntimeMDParser("amdgpu-check-rtmd-parser", cl::Hidden,
cl::desc("Check AMDGPU runtime metadata YAML parser"));
-LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint8_t)
LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint32_t)
LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(std::string)
LLVM_YAML_IS_SEQUENCE_VECTOR(Kernel::Metadata)
auto Node = MD->getOperand(0);
if (Node->getNumOperands() > 1) {
Kernel.Language = "OpenCL C";
- uint16_t Major = mdconst::extract<ConstantInt>(Node->getOperand(0))
+ uint32_t Major = mdconst::extract<ConstantInt>(Node->getOperand(0))
->getZExtValue();
- uint16_t Minor = mdconst::extract<ConstantInt>(Node->getOperand(1))
+ uint32_t Minor = mdconst::extract<ConstantInt>(Node->getOperand(1))
->getZExtValue();
Kernel.LanguageVersion.push_back(Major);
Kernel.LanguageVersion.push_back(Minor);