summaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
AgeCommit message (Collapse)Author
2025-08-27Merge commit cf721e29c6a3 from llvm git (by Amy Kwan):Dimitry Andric
[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
2024-10-23Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, the last commit before the upstream release/19.x branch was created. PR: 280562 MFC after: 1 month
2024-05-30Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov):Dimitry Andric
[PPCMergeStringPool] Only replace constant once (#92996) In #88846 I changed this code to use RAUW to perform the replacement instead of manual updates -- but kept the outer loop, which means we try to perform RAUW once per user. However, some of the users might be freed by the RAUW operation, resulting in use-after-free. The case where this happens is constant users where the replacement might result in the destruction of the original constant. Fixes https://github.com/llvm/llvm-project/issues/92991. This fixes a possible crash when building crypto/openssh/sshkey.c for PowerPC targets. Reported by: cperciva PR: 276104 MFC after: 3 days
2024-05-24Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67Dimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67. PR: 276104 MFC after: 3 days
2024-04-06Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fbDimitry Andric
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb. PR: 276104 MFC after: 1 month