[PATCH] D115456: Implement on-demand TLS initialization for Microsoft CXX ABI

Maurice Heumann via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 22 06:12:18 PST 2021


momo5502 updated this revision to Diff 395856.
momo5502 edited the summary of this revision.
momo5502 added a comment.
Herald added a subscriber: dexonsmith.

A call to `isCompatibleWithMSVC` was added with the proper version that introduced the change (1925) and comments describing the intention of the change were added.

Additionally, a bug was fixed. Setting the guard variable to true before doing the initialization breaks the feature, as the guard needs to be false for `__dyn_tls_init` to work.
Not emitting the store to the guard should be fine, as it will be set by `__dyn_tls_init` anyways. The behaviour is now identical to the way Microsoft's compiler does it.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115456/new/

https://reviews.llvm.org/D115456

Files:
  clang/include/clang/Basic/LangOptions.h
  clang/lib/CodeGen/MicrosoftCXXABI.cpp
  clang/test/CodeGenCXX/ms-thread_local.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115456.395856.patch
Type: text/x-patch
Size: 7245 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20211222/73517923/attachment.bin>


More information about the cfe-commits mailing list