[llvm] GlobalsModRef, ValueTracking: Look through threadlocal.address intrinsic (PR #88418)

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 17 12:08:26 PDT 2024


MatzeB wrote:

Any way to move this forward?

There is no problem for correctness here:
- The code hasn't changed substantially since the `llvm.threadlocal.address` intrinsic was introduced and worked fine before. So skipping the intrinsic in `getUnderlyingObject` should have no meaningful difference to previous state.
- We need some representative entity for alias analysis that expresses easily that TLS vars are separate from other global entities and each other. The underlying `GlobalVariable` works well for that (while the `@llvm.threadlocal.address` intrinsic does not as it may be duplicated in multiple functions or even within the same function).

https://github.com/llvm/llvm-project/pull/88418


More information about the llvm-commits mailing list