[X86] Support for the mno-tls-direct-seg-refs flag
authorKristina Brooks <kristina@nym.hush.com>
Thu, 18 Oct 2018 03:14:37 +0000 (03:14 +0000)
committerKristina Brooks <kristina@nym.hush.com>
Thu, 18 Oct 2018 03:14:37 +0000 (03:14 +0000)
commit312fcc116bc2d38d852ba1fd08c6840bf828ec36
tree46ca85d68e34f538340197789b046a55ef56637d
parenta35912da9f44f7f3b885a4c1f567b1ac672978e1
[X86] Support for the mno-tls-direct-seg-refs flag

Allows to disable direct TLS segment access (%fs or %gs). GCC supports
a similar flag, it can be useful in some circumstances, e.g. when a thread
context block needs to be updated directly from user space. More info
and specific use cases: https://bugs.llvm.org/show_bug.cgi?id=16145

There is another revision for clang as well.
Related: D53102

All X86 CodeGen tests appear to pass:
```
[46/47] Running lit suite /SourceCache/llvm-trunk-8.0/test/CodeGen
Testing Time: 23.17s
  Expected Passes    : 3801
  Expected Failures  : 15
  Unsupported Tests  : 8021
```

Reviewed by: Craig Topper.

Patch by nruslan (Ruslan Nikolaev).

Differential Revision: https://reviews.llvm.org/D53103

llvm-svn: 344723
llvm/docs/LangRef.rst
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/test/CodeGen/X86/tls.ll