[PATCH] D15084: Split the linker in 2

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 8 11:18:34 PST 2015


tejohnson added a comment.

Thanks for adding the worklist support. I've only skimmed through it but have a comment/question below in the new callback.


================
Comment at: lib/Linker/LinkModules.cpp:50
@@ -415,9 +49,3 @@
 
-  /// Set to true when all global value body linking is complete (including
-  /// lazy linking). Used to prevent metadata linking from creating new
-  /// references.
-  bool DoneLinkingBodies = false;
-
-  bool HasError = false;
-
+  void addLazyFor(GlobalValue &GV, IRMover::ValueAdder Add);
   bool shouldOverrideFromSrc() { return Flags & Linker::OverrideFromSrc; }
----------------
Add doxygen comment

================
Comment at: lib/Linker/LinkModules.cpp:664
@@ +663,3 @@
+  // Add these to the internalize list
+  if (!GV.hasLinkOnceLinkage())
+    return;
----------------
Is link once the only type we need to add support for linking lazily? If not, the Add(GV) call needs to move up above this check.

Below when looking at the comdat members you are checking for !hasLocalLinkage(). Is it legal that some comdat members could be link once and others not?


http://reviews.llvm.org/D15084





More information about the llvm-commits mailing list