History log of /src/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp (Results 1 – 15 of 15)
Revision Date Author Comments
# cb288774 27-Aug-2025 Dimitry Andric <dim@FreeBSD.org>

Merge commit cf721e29c6a3 from llvm git (by Amy Kwan):

[PowerPC] Do not merge TLS constants within PPCMergeStringPool.cpp (#94059)

This patch prevents thread-local constants to be merged within

Merge commit cf721e29c6a3 from llvm git (by Amy Kwan):

[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

show more ...


# 0fca6ea1 27-Jul-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, t

Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0

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

show more ...


# f30188c4 30-May-2024 Dimitry Andric <dim@FreeBSD.org>

Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov):

[PPCMergeStringPool] Only replace constant once (#92996)

In #88846 I changed this code to use RAUW to perform the replacement
in

Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov):

[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

show more ...


# 3a079333 24-May-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05

Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67

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

show more ...


# 5f757f3f 18-Dec-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

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

show more ...


# cb288774 27-Aug-2025 Dimitry Andric <dim@FreeBSD.org>

Merge commit cf721e29c6a3 from llvm git (by Amy Kwan):

[PowerPC] Do not merge TLS constants within PPCMergeStringPool.cpp (#94059)

This patch prevents thread-local constants to be merged within

Merge commit cf721e29c6a3 from llvm git (by Amy Kwan):

[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

show more ...


# 0fca6ea1 27-Jul-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, t

Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0

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

show more ...


# f30188c4 30-May-2024 Dimitry Andric <dim@FreeBSD.org>

Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov):

[PPCMergeStringPool] Only replace constant once (#92996)

In #88846 I changed this code to use RAUW to perform the replacement
in

Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov):

[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

show more ...


# 3a079333 24-May-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05

Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67

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

show more ...


# 5f757f3f 18-Dec-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

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

show more ...


# cb288774 27-Aug-2025 Dimitry Andric <dim@FreeBSD.org>

Merge commit cf721e29c6a3 from llvm git (by Amy Kwan):

[PowerPC] Do not merge TLS constants within PPCMergeStringPool.cpp (#94059)

This patch prevents thread-local constants to be merged within

Merge commit cf721e29c6a3 from llvm git (by Amy Kwan):

[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

show more ...


# 0fca6ea1 27-Jul-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-19-init-18630-gf2ccf80136a0, t

Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0

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

show more ...


# f30188c4 30-May-2024 Dimitry Andric <dim@FreeBSD.org>

Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov):

[PPCMergeStringPool] Only replace constant once (#92996)

In #88846 I changed this code to use RAUW to perform the replacement
in

Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov):

[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

show more ...


# 3a079333 24-May-2024 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05

Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67

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

show more ...


# 5f757f3f 18-Dec-2023 Dimitry Andric <dim@FreeBSD.org>

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

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

show more ...