orcguru wrote: > > The primary advantage of the local-dynamic access method is that you only > > make a single function call to __tls_get_mod() and use the returned pointer > > to get at all TLS variables. This implementation makes a function call for > > every variable. The only thing you've gained is a reduction in the number > > of TOC symbols. > > The issue with duplicated calls to .__tls_get_mod is due to those pseudo > TLSLDAIX nodes depending on different GVs, and CSE is not able to do dedup. I > probably have to create a pseudo GV named like "_$TLSML", and use that GV for > all TLSLDAIX pseudo nodes.
I tired TLSLDAIX without parameter (load module-handle is well known so the parameter is redundant), and now looks like those redundant .__tls_get_mod calls can be eliminated by optimization pass machine-cse. https://github.com/llvm/llvm-project/pull/66316 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits