diff options
author | Chih-Hung Hsieh <chh@google.com> | 2016-01-13 23:56:37 +0000 |
---|---|---|
committer | Chih-Hung Hsieh <chh@google.com> | 2016-01-13 23:56:37 +0000 |
commit | 578864007baa81366d2a98a307e016b78bed82af (patch) | |
tree | 1fd31bd59f979f919b502fbc50eb271b8e580c4f /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | 02fe4b93341845695296883496f50aa5946c9b7e (diff) | |
download | bcm5719-llvm-578864007baa81366d2a98a307e016b78bed82af.tar.gz bcm5719-llvm-578864007baa81366d2a98a307e016b78bed82af.zip |
[TLS] New lower emutls pass, fix linkage bugs.
Previous implementation in http://reviews.llvm.org/D10522
created external references to __emutls_v.* variables.
Such references are inaccurate and cannot be handled by
all linkers, e.g. Android dynamic and gold linkers for aarch64.
Now a new LowerEmuTLS pass to go through all global variables,
and add emutls_v.* and emutls_t.* variables.
These __emutls* variables have the same linkage and
visibility as the associated user defined TLS variable.
Also removed old code that dump __emutls* variables in AsmPrinter.cpp,
and updated TLS unit tests.
Differential Revision: http://reviews.llvm.org/D15300
llvm-svn: 257718
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
0 files changed, 0 insertions, 0 deletions