[LoopRotate][coroutines] Avoid hoisting addresses of thread-local variables...
[LoopRotate][coroutines] Avoid hoisting addresses of thread-local variables outside loops in coroutines (#81937) Because loops in coroutines may have a co_await statement that reschedules the coroutine to another thread, we cannot cache addresses of thread-local variables obtained inside a loop by moving the computation of thoes addresses outside a loop. Since LLVM doesn't have a model for coroutine memory accesses, this patch fixes this bug by disabling this optimization for coroutines in the same way as https://reviews.llvm.org/D135550 and https://reviews.llvm.org/D151774.
parent
807ed697
Please register or sign in to comment