[PATCH] D76333: [MLIR] Allow global with external linkage to include an initial value

Eric Schweitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 17 16:46:32 PDT 2020


schweitz created this revision.
schweitz added a reviewer: rriddle.
Herald added subscribers: llvm-commits, Joonsoo, liufengdb, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, burmako, jpienaar, mehdi_amini.
Herald added a project: LLVM.

Currently, globals with external linkage always elide their initial values even when they are set.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76333

Files:
  mlir/lib/Target/LLVMIR/ModuleTranslation.cpp


Index: mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
===================================================================
--- mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+++ mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
@@ -467,7 +467,8 @@
 
     auto linkage = convertLinkageToLLVM(op.linkage());
     bool anyExternalLinkage =
-        (linkage == llvm::GlobalVariable::ExternalLinkage ||
+        ((linkage == llvm::GlobalVariable::ExternalLinkage &&
+          isa<llvm::UndefValue>(cst)) ||
          linkage == llvm::GlobalVariable::ExternalWeakLinkage);
     auto addrSpace = op.addr_space().getLimitedValue();
     auto *var = new llvm::GlobalVariable(


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76333.250940.patch
Type: text/x-patch
Size: 659 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200317/b91e1955/attachment.bin>


More information about the llvm-commits mailing list