Matthias Braun 6bbccd2516
GlobalsModRef, ValueTracking: Look through threadlocal.address intrinsic (#88418)
This improves handling of `threadlocal.address` intrinsic in analyses:

The thread-id cannot change within a function with the exception of
suspend points of pre-split coroutines. This changes
`llvm::getUnderlyingObject` to look through `threadlocal.address` in
these cases.

`GlobalsAAResult::AnalyzeUsesOfPointer` checks whether an address can be
traced to simple loads/stores or escapes to other places. Starting the
analysis from a thread-local `GlobalValue` the `threadlocal.address`
intrinsic is safe to skip here.

This improves issue #87437
2024-04-19 10:01:42 -07:00
..
2022-10-11 17:24:06 +00:00
2023-09-01 19:45:03 -04:00
2023-02-14 10:25:24 -04:00
2022-10-11 17:24:06 +00:00
2023-06-28 14:50:16 -04:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-11-04 10:18:04 -07:00