diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2025-08-27 18:51:58 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2025-08-27 18:52:30 +0000 |
commit | cb2887746f8b9dd4ad6b1e757cdc053a08b25a2e (patch) | |
tree | d57e474763eacf4e66e03aee11159ad566f7ad63 /contrib/llvm-project/compiler-rt/lib/xray/(public-mirror) | |
parent | b2f394b90062b9f4aee51de4e5fd7513b3db7362 (diff) |
[PowerPC] Do not merge TLS constants within PPCMergeStringPool.cpp (#94059)
This patch prevents thread-local constants to be merged within
PPCMergeStringPool.cpp.
The PPCMergeStringPool pass primarily merges non-thread-local constants
together, and thread-local constants should not be mixed together with
other (non-thread-local) constants. In the event that thread-local and
other non-thread-local constants are pooled together, the
llvm.threadlocal.address intrinsic can fail as it expects its argument
to be a thread-local global value, but the merged string structure
created by the PPCMergeStringPool pass is not thread-local as a whole.
This fixes an error "llvm.threadlocal.address first argument must be a
GlobalValue" when building the math/nauty port on PowerPC architectures.
PR: 289122
Reported by: pkubaj
MFC after: 3 days
Diffstat (limited to 'contrib/llvm-project/compiler-rt/lib/xray/(public-mirror)')
0 files changed, 0 insertions, 0 deletions