<div dir="ltr"><div>Hello llvm-dev@</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>I even tried creating another function that "uses" created GV, but it also got deleted.</div><div><br></div><div>Any hints?</div><div><br></div><div>Thanks in advance.<br></div></div>