Remove .value_type from code object v3 metadata
This seems to not actually have any function. The OpenCL API test passes without it, and the way it's produced is problematic. Change-Id: I384bfa01dee7023484348b184ddd1b2d44a91f7d
This commit is contained in:
@@ -61,26 +61,6 @@ amd_comgr_status_t getMetaBuf(const amd_comgr_metadata_node_t meta,
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================================================================================================
|
|
||||||
inline static clk_value_type_t UpdateArgType(uint sizeType, uint numElements) {
|
|
||||||
switch (numElements) {
|
|
||||||
case 1:
|
|
||||||
return ClkValueMapType[sizeType][0];
|
|
||||||
case 2:
|
|
||||||
return ClkValueMapType[sizeType][1];
|
|
||||||
case 3:
|
|
||||||
return ClkValueMapType[sizeType][2];
|
|
||||||
case 4:
|
|
||||||
return ClkValueMapType[sizeType][3];
|
|
||||||
case 8:
|
|
||||||
return ClkValueMapType[sizeType][4];
|
|
||||||
case 16:
|
|
||||||
return ClkValueMapType[sizeType][5];
|
|
||||||
default:
|
|
||||||
return T_VOID;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ================================================================================================
|
// ================================================================================================
|
||||||
static amd_comgr_status_t populateArgs(const amd_comgr_metadata_node_t key,
|
static amd_comgr_status_t populateArgs(const amd_comgr_metadata_node_t key,
|
||||||
const amd_comgr_metadata_node_t value,
|
const amd_comgr_metadata_node_t value,
|
||||||
@@ -151,15 +131,6 @@ static amd_comgr_status_t populateArgs(const amd_comgr_metadata_node_t key,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ArgField::ValueType:
|
|
||||||
{
|
|
||||||
auto itValueType = ArgValueType.find(buf);
|
|
||||||
if (itValueType == ArgValueType.end()) {
|
|
||||||
return AMD_COMGR_STATUS_ERROR;
|
|
||||||
}
|
|
||||||
lcArg->type_ = UpdateArgType(itValueType->second.first, itValueType->second.second);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case ArgField::PointeeAlign:
|
case ArgField::PointeeAlign:
|
||||||
lcArg->info_.arrayIndex_ = atoi(buf.c_str());
|
lcArg->info_.arrayIndex_ = atoi(buf.c_str());
|
||||||
break;
|
break;
|
||||||
@@ -437,15 +408,6 @@ static amd_comgr_status_t populateArgsV3(const amd_comgr_metadata_node_t key,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ArgField::ValueType:
|
|
||||||
{
|
|
||||||
auto itValueType = ArgValueTypeV3.find(buf);
|
|
||||||
if (itValueType == ArgValueTypeV3.end()) {
|
|
||||||
return AMD_COMGR_STATUS_ERROR;
|
|
||||||
}
|
|
||||||
lcArg->type_ = UpdateArgType(itValueType->second.first, itValueType->second.second);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case ArgField::PointeeAlign:
|
case ArgField::PointeeAlign:
|
||||||
lcArg->info_.arrayIndex_ = atoi(buf.c_str());
|
lcArg->info_.arrayIndex_ = atoi(buf.c_str());
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -97,16 +97,15 @@ enum class ArgField : uint8_t {
|
|||||||
Size = 2,
|
Size = 2,
|
||||||
Align = 3,
|
Align = 3,
|
||||||
ValueKind = 4,
|
ValueKind = 4,
|
||||||
ValueType = 5,
|
PointeeAlign = 5,
|
||||||
PointeeAlign = 6,
|
AddrSpaceQual = 6,
|
||||||
AddrSpaceQual = 7,
|
AccQual = 7,
|
||||||
AccQual = 8,
|
ActualAccQual = 8,
|
||||||
ActualAccQual = 9,
|
IsConst = 9,
|
||||||
IsConst = 10,
|
IsRestrict = 10,
|
||||||
IsRestrict = 11,
|
IsVolatile = 11,
|
||||||
IsVolatile = 12,
|
IsPipe = 12,
|
||||||
IsPipe = 13,
|
Offset = 13
|
||||||
Offset = 14
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class AttrField : uint8_t {
|
enum class AttrField : uint8_t {
|
||||||
@@ -139,7 +138,6 @@ static const std::map<std::string, ArgField> ArgFieldMap =
|
|||||||
{"Size", ArgField::Size},
|
{"Size", ArgField::Size},
|
||||||
{"Align", ArgField::Align},
|
{"Align", ArgField::Align},
|
||||||
{"ValueKind", ArgField::ValueKind},
|
{"ValueKind", ArgField::ValueKind},
|
||||||
{"ValueType", ArgField::ValueType},
|
|
||||||
{"PointeeAlign", ArgField::PointeeAlign},
|
{"PointeeAlign", ArgField::PointeeAlign},
|
||||||
{"AddrSpaceQual", ArgField::AddrSpaceQual},
|
{"AddrSpaceQual", ArgField::AddrSpaceQual},
|
||||||
{"AccQual", ArgField::AccQual},
|
{"AccQual", ArgField::AccQual},
|
||||||
@@ -169,21 +167,6 @@ static const std::map<std::string, uint32_t> ArgValueKind = {
|
|||||||
{"HiddenHostcallBuffer", amd::KernelParameterDescriptor::HiddenHostcallBuffer}
|
{"HiddenHostcallBuffer", amd::KernelParameterDescriptor::HiddenHostcallBuffer}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const std::map<std::string, std::pair<uint32_t, uint32_t>> ArgValueType = {
|
|
||||||
{"Struct", {0, 0}},
|
|
||||||
{"I8", {0, 1}},
|
|
||||||
{"U8", {0, 1}},
|
|
||||||
{"I16", {1, 2}},
|
|
||||||
{"U16", {1, 2}},
|
|
||||||
{"F16", {4, 2}},
|
|
||||||
{"I32", {2, 4}},
|
|
||||||
{"U32", {2, 4}},
|
|
||||||
{"F32", {4, 4}},
|
|
||||||
{"I64", {3, 8}},
|
|
||||||
{"U64", {3, 8}},
|
|
||||||
{"F64", {5, 8}}
|
|
||||||
};
|
|
||||||
|
|
||||||
static const std::map<std::string, cl_kernel_arg_access_qualifier> ArgAccQual = {
|
static const std::map<std::string, cl_kernel_arg_access_qualifier> ArgAccQual = {
|
||||||
{"Default", CL_KERNEL_ARG_ACCESS_NONE},
|
{"Default", CL_KERNEL_ARG_ACCESS_NONE},
|
||||||
{"ReadOnly", CL_KERNEL_ARG_ACCESS_READ_ONLY},
|
{"ReadOnly", CL_KERNEL_ARG_ACCESS_READ_ONLY},
|
||||||
@@ -250,7 +233,6 @@ static const std::map<std::string,ArgField> ArgFieldMapV3 =
|
|||||||
{".size", ArgField::Size},
|
{".size", ArgField::Size},
|
||||||
{".offset", ArgField::Offset},
|
{".offset", ArgField::Offset},
|
||||||
{".value_kind", ArgField::ValueKind},
|
{".value_kind", ArgField::ValueKind},
|
||||||
{".value_type", ArgField::ValueType},
|
|
||||||
{".pointee_align", ArgField::PointeeAlign},
|
{".pointee_align", ArgField::PointeeAlign},
|
||||||
{".address_space", ArgField::AddrSpaceQual},
|
{".address_space", ArgField::AddrSpaceQual},
|
||||||
{".access", ArgField::AccQual},
|
{".access", ArgField::AccQual},
|
||||||
@@ -280,21 +262,6 @@ static const std::map<std::string, uint32_t> ArgValueKindV3 = {
|
|||||||
{"hidden_hostcall_buffer", amd::KernelParameterDescriptor::HiddenHostcallBuffer}
|
{"hidden_hostcall_buffer", amd::KernelParameterDescriptor::HiddenHostcallBuffer}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const std::map<std::string, std::pair<uint32_t, uint32_t>> ArgValueTypeV3 = {
|
|
||||||
{"struct", {0, 0}},
|
|
||||||
{"i8", {0, 1}},
|
|
||||||
{"u8", {0, 1}},
|
|
||||||
{"i16", {1, 2}},
|
|
||||||
{"u16", {1, 2}},
|
|
||||||
{"f16", {4, 2}},
|
|
||||||
{"i32", {2, 4}},
|
|
||||||
{"u32", {2, 4}},
|
|
||||||
{"f32", {4, 4}},
|
|
||||||
{"i64", {3, 8}},
|
|
||||||
{"u64", {3, 8}},
|
|
||||||
{"f64", {5, 8}}
|
|
||||||
};
|
|
||||||
|
|
||||||
static const std::map<std::string, cl_kernel_arg_access_qualifier> ArgAccQualV3 = {
|
static const std::map<std::string, cl_kernel_arg_access_qualifier> ArgAccQualV3 = {
|
||||||
{"default", CL_KERNEL_ARG_ACCESS_NONE},
|
{"default", CL_KERNEL_ARG_ACCESS_NONE},
|
||||||
{"read_only", CL_KERNEL_ARG_ACCESS_READ_ONLY},
|
{"read_only", CL_KERNEL_ARG_ACCESS_READ_ONLY},
|
||||||
|
|||||||
Reference in New Issue
Block a user