[llvm-dev] Changing address space
Tim Northover via llvm-dev
llvm-dev at lists.llvm.org
Wed Oct 14 12:53:20 PDT 2015
On 14 October 2015 at 12:38, Erdem Derebaşoğlu <llvm-dev at lists.llvm.org> wrote:
> I mean the address space that LLVM supports. Is there a way to identify
> thread local variables? I will later use a codegen pass to make use of
> address spaces.
C/C++ level thread local variables are explicitly represented in LLVM
IR (search "thread_local"). These are global variables that should
have a different copy in each thread.
But obviously there can also be other variables that are local to a
thread without being officially TLS (function-local variables that
aren't static, pointers obtained via pthread_create_key APIs or some
hand-rolled equivalent, etc).
In general it's probably not even well-defined whether some random
pointer is thread-local or not.
More information about the llvm-dev