You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The compiler (still) caches the thread_local variable addresses across the suspend points. A supposed fix (which followed the discussion here) landed, and it indeed fixes many of the original issues. Another relevant closed issue on Github is here.
However, it seems that the issue persists and in some cases TLS behavior isn't preserved, with some other parts (likely loop optimizer?..) messing up with the fix, still resulting in TLS variable address being cached.
Here is the example link showing the issue: https://godbolt.org/z/cz3PPqrcW
cc @ChuanqiXu9 as the implementer of the original fix, maybe you have any thoughts on it?.. Thanks for your work on the issue!
The text was updated successfully, but these errors were encountered:
There are several optimizations in the compiler will perform the merging. And my previous fix was to disable the optimizations case by case. So the current issue is an oversight that I didn't catch. I sent https://reviews.llvm.org/D151774 for this. Hope we can fix the problem fundamentally in time. Thanks for reporting this.
The compiler (still) caches the thread_local variable addresses across the suspend points.
A supposed fix (which followed the discussion here) landed, and it indeed fixes many of the original issues. Another relevant closed issue on Github is here.
However, it seems that the issue persists and in some cases TLS behavior isn't preserved, with some other parts (likely loop optimizer?..) messing up with the fix, still resulting in TLS variable address being cached.
Here is the example link showing the issue: https://godbolt.org/z/cz3PPqrcW
cc @ChuanqiXu9 as the implementer of the original fix, maybe you have any thoughts on it?.. Thanks for your work on the issue!
The text was updated successfully, but these errors were encountered: