[PATCH] D50783: [CodeGen] Merge identical block descriptor global variables

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 16 16:17:08 PDT 2018


rsmith added inline comments.


================
Comment at: lib/CodeGen/CGBlocks.cpp:271-276
   llvm::GlobalVariable *global =
-    elements.finishAndCreateGlobal("__block_descriptor_tmp",
-                                   CGM.getPointerAlign(),
-                                   /*constant*/ true,
-                                   llvm::GlobalValue::InternalLinkage,
-                                   AddrSpace);
+      elements.finishAndCreateGlobal(descName, CGM.getPointerAlign(),
+                                     /*constant*/ true, linkage, AddrSpace);
+
+  if (linkage == llvm::GlobalValue::LinkOnceODRLinkage)
+    global->setVisibility(llvm::GlobalValue::HiddenVisibility);
----------------
Would it make sense to also mark this constant as `unnamed_addr`?


Repository:
  rC Clang

https://reviews.llvm.org/D50783





More information about the cfe-commits mailing list