rocr: Dynamically allocate IsaMap

This is to avoid use after free at the program's end, when statics
are destructed.

Change-Id: Id6bf26f25a58d13bdf1ee99c852adae8add76569
This commit is contained in:
Chris Freehill
2024-12-19 17:44:29 -06:00
committad av Chris Freehill
förälder ac64c54d74
incheckning 67b0082443
+4 -2
Visa fil
@@ -250,10 +250,12 @@ const Isa *IsaRegistry::GetIsa(const Isa::Version &version, IsaFeature sramecc,
}
// TODO: c++20 use constexpr or consteval
const std::unordered_map<std::string, unsigned int> &
IsaRegistry::GetSupportedGenericVersions() {
static const
std::unordered_map<std::string, unsigned int> min_gen_versions = {
std::unordered_map<std::string, unsigned int> * min_gen_versions =
new std::unordered_map<std::string, unsigned int> {
{prepend_isa_prefix("gfx9-generic"), 1},
{prepend_isa_prefix("gfx9-generic:xnack-"), 1},
{prepend_isa_prefix("gfx9-generic:xnack+"), 1},
@@ -279,7 +281,7 @@ IsaRegistry::GetSupportedGenericVersions() {
{prepend_isa_prefix("gfx11-generic"), 1},
{prepend_isa_prefix("gfx12-generic"), 1}
};
return min_gen_versions;
return *min_gen_versions;
}
const IsaRegistry::IsaMap& IsaRegistry::GetSupportedIsas() {