[llvm] c9d7d10 - [TableGen][DecoderEmitter] Use StringRef in a few places (NFC) (#156051)

via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 29 09:37:52 PDT 2025


Author: Sergei Barannikov
Date: 2025-08-29T16:37:48Z
New Revision: c9d7d10084ac1010d5c25a1ad70da5195b248b6f

URL: https://github.com/llvm/llvm-project/commit/c9d7d10084ac1010d5c25a1ad70da5195b248b6f
DIFF: https://github.com/llvm/llvm-project/commit/c9d7d10084ac1010d5c25a1ad70da5195b248b6f.diff

LOG: [TableGen][DecoderEmitter] Use StringRef in a few places (NFC) (#156051)

Added: 
    

Modified: 
    llvm/utils/TableGen/DecoderEmitter.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/utils/TableGen/DecoderEmitter.cpp b/llvm/utils/TableGen/DecoderEmitter.cpp
index a32f5f2d68171..6eab90f501793 100644
--- a/llvm/utils/TableGen/DecoderEmitter.cpp
+++ b/llvm/utils/TableGen/DecoderEmitter.cpp
@@ -326,7 +326,7 @@ struct DecoderTableInfo {
   }
 };
 
-using NamespacesHwModesMap = std::map<std::string, std::set<unsigned>>;
+using NamespacesHwModesMap = std::map<StringRef, std::set<unsigned>>;
 
 class DecoderEmitter {
   const RecordKeeper &RK;
@@ -1052,8 +1052,6 @@ FilterChooser::getIslands(const KnownBits &EncodingBits) const {
 
 void DecoderTableBuilder::emitBinaryParser(raw_ostream &OS, indent Indent,
                                            const OperandInfo &OpInfo) const {
-  const std::string &Decoder = OpInfo.Decoder;
-
   bool UseInsertBits = OpInfo.numFields() != 1 || OpInfo.InitValue != 0;
 
   if (UseInsertBits) {
@@ -1076,6 +1074,7 @@ void DecoderTableBuilder::emitBinaryParser(raw_ostream &OS, indent Indent,
     OS << ";\n";
   }
 
+  StringRef Decoder = OpInfo.Decoder;
   if (!Decoder.empty()) {
     OS << Indent << "if (!Check(S, " << Decoder
        << "(MI, tmp, Address, Decoder))) { "
@@ -2317,8 +2316,8 @@ void DecoderEmitter::collectHwModesReferencedForEncodings(
   for (const auto &MS : CGH.getHwModeSelects()) {
     for (auto [HwModeID, EncodingDef] : MS.second.Items) {
       if (EncodingDef->isSubClassOf("InstructionEncoding")) {
-        std::string DecoderNamespace =
-            EncodingDef->getValueAsString("DecoderNamespace").str();
+        StringRef DecoderNamespace =
+            EncodingDef->getValueAsString("DecoderNamespace");
         NamespacesWithHwModes[DecoderNamespace].insert(HwModeID);
         BV.set(HwModeID);
       }
@@ -2341,8 +2340,7 @@ void DecoderEmitter::handleHwModesUnrelatedEncodings(
   }
   case SUPPRESSION_LEVEL1: {
     const Record *InstDef = Encodings[EncodingID].getInstruction()->TheDef;
-    std::string DecoderNamespace =
-        InstDef->getValueAsString("DecoderNamespace").str();
+    StringRef DecoderNamespace = InstDef->getValueAsString("DecoderNamespace");
     auto It = NamespacesWithHwModes.find(DecoderNamespace);
     if (It != NamespacesWithHwModes.end()) {
       for (unsigned HwModeID : It->second)


        


More information about the llvm-commits mailing list