[llvm] 021edda - [TableGen] Simplify CodeGenHwModes constructor. NFC

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 22 23:13:24 PDT 2023


Author: Craig Topper
Date: 2023-03-22T23:04:33-07:00
New Revision: 021edda0b20468e20a72b1788721b2b70228bffb

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

LOG: [TableGen] Simplify CodeGenHwModes constructor. NFC

Remove the loop that erases the DefaultMode from the Record vector.
Instead we can skip over in the loop that creates HwMode objects.

Added: 
    

Modified: 
    llvm/utils/TableGen/CodeGenHwModes.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/utils/TableGen/CodeGenHwModes.cpp b/llvm/utils/TableGen/CodeGenHwModes.cpp
index 99a97e89e60c5..d8652dfa121f3 100644
--- a/llvm/utils/TableGen/CodeGenHwModes.cpp
+++ b/llvm/utils/TableGen/CodeGenHwModes.cpp
@@ -65,23 +65,16 @@ void HwModeSelect::dump() const {
 }
 
 CodeGenHwModes::CodeGenHwModes(RecordKeeper &RK) : Records(RK) {
-  std::vector<Record*> MRs = Records.getAllDerivedDefinitions("HwMode");
-  // The default mode needs a definition in the .td sources for TableGen
-  // to accept references to it. We need to ignore the definition here.
-  for (auto I = MRs.begin(), E = MRs.end(); I != E; ++I) {
-    if ((*I)->getName() != DefaultModeName)
+  for (Record *R : Records.getAllDerivedDefinitions("HwMode")) {
+    // The default mode needs a definition in the .td sources for TableGen
+    // to accept references to it. We need to ignore the definition here.
+    if (R->getName() == DefaultModeName)
       continue;
-    MRs.erase(I);
-    break;
-  }
-
-  for (Record *R : MRs) {
-    Modes.emplace_back(R);
+    Modes.push_back(R);
     ModeIds.insert(std::make_pair(R, Modes.size()));
   }
 
-  std::vector<Record*> MSs = Records.getAllDerivedDefinitions("HwModeSelect");
-  for (Record *R : MSs) {
+  for (Record *R : Records.getAllDerivedDefinitions("HwModeSelect")) {
     auto P = ModeSelects.emplace(std::make_pair(R, HwModeSelect(R, *this)));
     assert(P.second);
     (void)P;


        


More information about the llvm-commits mailing list