[ORC][NFC] Refactor loop to determine name of init symbol in IRMaterializationUnit
authorStefan Gränitz <stefan.graenitz@gmail.com>
Thu, 13 Aug 2020 19:11:59 +0000 (21:11 +0200)
committerStefan Gränitz <stefan.graenitz@gmail.com>
Fri, 14 Aug 2020 09:34:44 +0000 (11:34 +0200)
This loop caused me a little headache once, because I didn't see the assigned variable is a member. The refactored version appears more readable to me.

Differential Revision: https://reviews.llvm.org/D85922

llvm/lib/ExecutionEngine/Orc/Layer.cpp

index 61e7ab5..0a5d557 100644 (file)
@@ -83,17 +83,14 @@ IRMaterializationUnit::IRMaterializationUnit(
     if (!llvm::empty(getStaticInitGVs(M))) {
       size_t Counter = 0;
 
-      while (true) {
+      do {
         std::string InitSymbolName;
         raw_string_ostream(InitSymbolName)
             << "$." << M.getModuleIdentifier() << ".__inits." << Counter++;
         InitSymbol = ES.intern(InitSymbolName);
-        if (SymbolFlags.count(InitSymbol))
-          continue;
-        SymbolFlags[InitSymbol] =
-            JITSymbolFlags::MaterializationSideEffectsOnly;
-        break;
-      }
+      } while (SymbolFlags.count(InitSymbol));
+
+      SymbolFlags[InitSymbol] = JITSymbolFlags::MaterializationSideEffectsOnly;
     }
   });
 }