[PATCH] D77248: [llvm][IR] Add dso_local_equivalent Constant
Leonard Chan via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 2 15:57:11 PST 2020
leonardchan added a comment.
In D77248#2358172 <https://reviews.llvm.org/D77248#2358172>, @MaskRay wrote:
> `llc -filetype=obj` doesn't. Please fix it. It is a bit unfortunate but the ELFObjectWriter generally has more restrictions than the assembler writer.
Ah, didn't see this. Yeah I was using this incorrectly in some of my tests. Fixed.
================
Comment at: llvm/lib/CodeGen/DSOLocalEquivalentLowering.cpp:83
+ GlobalValue *GV = Equiv->getGlobalValue();
+ if (GV->hasLocalLinkage() || GV->hasHiddenVisibility() || GV->isDSOLocal())
+ return GV;
----------------
MaskRay wrote:
> Shouldn't protected visibility use GV as well?
>
> Is isDSOLocal implied by other properties?
Yeah, it seems that there's actually a function that covers this already: `GlobalValue::isImplicitDSOLocal`.
================
Comment at: llvm/test/CodeGen/X86/dso_local_equivalent.ll:71
+; NO-PLT-NEXT: .quad _ifunc_func.stub
+ at data_ifunc = constant i32 (i32)* dso_local_equivalent @ifunc_func
+
----------------
MaskRay wrote:
> ifunc stub may seem strange. Can you add a comment?
Added. This is here mostly to ensure correctness since the `ifunc` may not be `dso_local` so we'd still need a stub to ensure that.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77248/new/
https://reviews.llvm.org/D77248
More information about the llvm-commits
mailing list