[PATCH] D85922: [ORC][NFC] Refactor loop to determine name of init symbol in IRMaterializationUnit

Stefan Gränitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 12:11:45 PDT 2020


sgraenitz created this revision.
sgraenitz added a reviewer: lhames.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.
sgraenitz requested review of this revision.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D85922

Files:
  llvm/lib/ExecutionEngine/Orc/Layer.cpp


Index: llvm/lib/ExecutionEngine/Orc/Layer.cpp
===================================================================
--- llvm/lib/ExecutionEngine/Orc/Layer.cpp
+++ llvm/lib/ExecutionEngine/Orc/Layer.cpp
@@ -83,17 +83,14 @@
     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;
     }
   });
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85922.285458.patch
Type: text/x-patch
Size: 870 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200813/44089fa2/attachment.bin>


More information about the llvm-commits mailing list