[llvm-dev] GlobalVariable I inserted gets removed by LTO
Gleb Popov via llvm-dev
llvm-dev at lists.llvm.org
Mon Jul 22 07:34:07 PDT 2019
Hello llvm-dev@
I have a pass that puts a global constant data array into the module. And
another pass that gets runned by lld during LTO stage.
When I look at bytecode files corresponding to source TUs produced by
`clang -flto`, I can see GVs inserted by my pass #1. However, when pass #2
gets to run, these GV's are gone.
I figured out that passing -mllvm -compute-dead=0 to the linker fixes the
problem, but I'm not sure if it is right thing to do. Ideally, I'd like to
trick LTO to ignore only mine GVs during compute-dead analysis.
I even tried creating another function that "uses" created GV, but it also
got deleted.
Any hints?
Thanks in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190722/ff3f9950/attachment.html>
More information about the llvm-dev
mailing list