Hello, I am trying to compile some code to LLVM IR with a simple “__thread int x” but hitting this error:
test.cpp:1:1: error: thread-local storage is unsupported for the current target
I’m using both the -S and -emit-llvm options on clang, and was expecting to see “@x = thread_local global i32 0” come out of clang.
I am curious why clang even cares about this since its my understanding it woud just attach thread_local to the declaration and then allow me to handle it later on in llc to do the actual traget specific implementation. Can someone help clear where the thread-local implementation should go?
Thanks,
-Stephen