[clang] 3545486 - [clang][Interp][NFC] Make some variables in the opcode emitter const

Timm Bäder via cfe-commits cfe-commits at lists.llvm.org
Sun Jan 28 07:15:47 PST 2024


Author: Timm Bäder
Date: 2024-01-28T16:15:21+01:00
New Revision: 354548621fdbaead4832361d26922b91488e401a

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

LOG: [clang][Interp][NFC] Make some variables in the opcode emitter const

Added: 
    

Modified: 
    clang/utils/TableGen/ClangOpcodesEmitter.cpp

Removed: 
    


################################################################################
diff  --git a/clang/utils/TableGen/ClangOpcodesEmitter.cpp b/clang/utils/TableGen/ClangOpcodesEmitter.cpp
index db88c990d5f9bd..e624cb4d8cc6a5 100644
--- a/clang/utils/TableGen/ClangOpcodesEmitter.cpp
+++ b/clang/utils/TableGen/ClangOpcodesEmitter.cpp
@@ -60,7 +60,7 @@ class ClangOpcodesEmitter {
 void Enumerate(const Record *R, StringRef N,
                std::function<void(ArrayRef<const Record *>, Twine)> &&F) {
   llvm::SmallVector<const Record *, 2> TypePath;
-  auto *Types = R->getValueAsListInit("Types");
+  const auto *Types = R->getValueAsListInit("Types");
 
   std::function<void(size_t, const Twine &)> Rec;
   Rec = [&TypePath, Types, &Rec, &F](size_t I, const Twine &ID) {
@@ -69,8 +69,9 @@ void Enumerate(const Record *R, StringRef N,
       return;
     }
 
-    if (auto *TypeClass = dyn_cast<DefInit>(Types->getElement(I))) {
-      for (auto *Type : TypeClass->getDef()->getValueAsListOfDefs("Types")) {
+    if (const auto *TypeClass = dyn_cast<DefInit>(Types->getElement(I))) {
+      for (const auto *Type :
+           TypeClass->getDef()->getValueAsListOfDefs("Types")) {
         TypePath.push_back(Type);
         Rec(I + 1, ID + Type->getName());
         TypePath.pop_back();
@@ -85,7 +86,7 @@ void Enumerate(const Record *R, StringRef N,
 } // namespace
 
 void ClangOpcodesEmitter::run(raw_ostream &OS) {
-  for (auto *Opcode : Records.getAllDerivedDefinitions(Root.getName())) {
+  for (const auto *Opcode : Records.getAllDerivedDefinitions(Root.getName())) {
     // The name is the record name, unless overriden.
     StringRef N = Opcode->getValueAsString("Name");
     if (N.empty())
@@ -118,7 +119,7 @@ void ClangOpcodesEmitter::EmitInterp(raw_ostream &OS, StringRef N,
             [this, R, &OS, &N](ArrayRef<const Record *> TS, const Twine &ID) {
               bool CanReturn = R->getValueAsBit("CanReturn");
               bool ChangesPC = R->getValueAsBit("ChangesPC");
-              auto Args = R->getValueAsListOfDefs("Args");
+              const auto &Args = R->getValueAsListOfDefs("Args");
 
               OS << "case OP_" << ID << ": {\n";
 
@@ -171,7 +172,7 @@ void ClangOpcodesEmitter::EmitDisasm(raw_ostream &OS, StringRef N,
     OS << "  PrintName(\"" << ID << "\");\n";
     OS << "  OS << \"\\t\"";
 
-    for (auto *Arg : R->getValueAsListOfDefs("Args")) {
+    for (const auto *Arg : R->getValueAsListOfDefs("Args")) {
       OS << " << ReadArg<" << Arg->getValueAsString("Name") << ">(P, PC)";
       OS << " << \" \"";
     }
@@ -189,7 +190,7 @@ void ClangOpcodesEmitter::EmitEmitter(raw_ostream &OS, StringRef N,
 
   OS << "#ifdef GET_LINK_IMPL\n";
   Enumerate(R, N, [R, &OS](ArrayRef<const Record *>, const Twine &ID) {
-    auto Args = R->getValueAsListOfDefs("Args");
+    const auto &Args = R->getValueAsListOfDefs("Args");
 
     // Emit the list of arguments.
     OS << "bool ByteCodeEmitter::emit" << ID << "(";
@@ -236,7 +237,7 @@ void ClangOpcodesEmitter::EmitProto(raw_ostream &OS, StringRef N,
     }
     OS << ">\n";
     OS << "bool emit" << N << "(";
-    for (auto *Arg : Args)
+    for (const auto *Arg : Args)
       OS << Arg->getValueAsString("Name") << ", ";
     OS << "const SourceInfo &);\n";
     OS << "#endif\n";
@@ -250,8 +251,8 @@ void ClangOpcodesEmitter::EmitGroup(raw_ostream &OS, StringRef N,
   if (!R->getValueAsBit("HasGroup"))
     return;
 
-  auto *Types = R->getValueAsListInit("Types");
-  auto Args = R->getValueAsListOfDefs("Args");
+  const auto *Types = R->getValueAsListInit("Types");
+  const auto &Args = R->getValueAsListOfDefs("Args");
 
   Twine EmitFuncName = "emit" + N;
 


        


More information about the cfe-commits mailing list