aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/DecoderEmitter.cpp
diff options
context:
space:
mode:
authorSergei Barannikov <barannikov88@gmail.com>2025-08-29 19:37:48 +0300
committerGitHub <noreply@github.com>2025-08-29 16:37:48 +0000
commitc9d7d10084ac1010d5c25a1ad70da5195b248b6f (patch)
tree49357f26fbbde163836ba88ebf6ee9d35170e217 /llvm/utils/TableGen/DecoderEmitter.cpp
parentca14a8afe85453237ec438e33c76424fd9bb9b27 (diff)
downloadllvm-c9d7d10084ac1010d5c25a1ad70da5195b248b6f.zip
llvm-c9d7d10084ac1010d5c25a1ad70da5195b248b6f.tar.gz
llvm-c9d7d10084ac1010d5c25a1ad70da5195b248b6f.tar.bz2
[TableGen][DecoderEmitter] Use StringRef in a few places (NFC) (#156051)
Diffstat (limited to 'llvm/utils/TableGen/DecoderEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/DecoderEmitter.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/llvm/utils/TableGen/DecoderEmitter.cpp b/llvm/utils/TableGen/DecoderEmitter.cpp
index a32f5f2..6eab90f 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)