@@ -71,7 +71,7 @@ class ParamLookupTable {
7171 llvm_unreachable (" Invalid architecture string" );
7272 }
7373 auto remaining = arch.substr (gfxPos);
74- auto endPos = remaining.find_first_not_of (" 0123456789 " , 3 );
74+ auto endPos = remaining.find_first_not_of (" 0123456789a " , 3 );
7575 return remaining.substr (0 , endPos);
7676 }
7777
@@ -96,12 +96,13 @@ class ParamLookupTable {
9696 return getArchName (arch).str () + " _" + makeSuffix (op, dataType);
9797 }
9898
99- static const std::map<std::string, ParamArray> &getTable () {
100- static const std::map<std::string, ParamArray> table = buildTable ();
99+ static const std::unordered_map<std::string, ParamArray> &getTable () {
100+ static const std::unordered_map<std::string, ParamArray> table =
101+ buildTable ();
101102 return table;
102103 }
103104
104- static std::map <std::string, ParamArray> buildTable ();
105+ static std::unordered_map <std::string, ParamArray> buildTable ();
105106};
106107
107108} // anonymous namespace
@@ -820,7 +821,8 @@ Attribute PopulateParamsWmma::getGemmParamsAttr(
820821namespace {
821822
822823template <>
823- std::map<std::string, ParamLookupTable<InitParamsNonAccel>::ParamArray>
824+ std::unordered_map<std::string,
825+ ParamLookupTable<InitParamsNonAccel>::ParamArray>
824826ParamLookupTable<InitParamsNonAccel>::buildTable() {
825827 return {
826828#define NonAccel_LOOKUP_TABLE_GEN
@@ -831,7 +833,7 @@ ParamLookupTable<InitParamsNonAccel>::buildTable() {
831833
832834// Specialization for Accel (XDL/WMMA) parameters
833835template <>
834- std::map <std::string, ParamLookupTable<InitParamsAccel>::ParamArray>
836+ std::unordered_map <std::string, ParamLookupTable<InitParamsAccel>::ParamArray>
835837ParamLookupTable<InitParamsAccel>::buildTable() {
836838 return {
837839#define Accel_LOOKUP_TABLE_GEN
0 commit comments