[all-commits] [llvm/llvm-project] 7e6ece: [PPCMergeStringPool] Only replace constant once (#...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Tue Jun 4 13:55:48 PDT 2024
Branch: refs/heads/release/18.x
Home: https://github.com/llvm/llvm-project
Commit: 7e6ece9b4f2d37caf8ff7b87603f15ed9ad2d6ec
https://github.com/llvm/llvm-project/commit/7e6ece9b4f2d37caf8ff7b87603f15ed9ad2d6ec
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-06-04 (Tue, 04 Jun 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
A llvm/test/CodeGen/PowerPC/mergeable-string-pool-pr92991.ll
Log Message:
-----------
[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.
(cherry picked from commit 9f85bc834b07ebfec9e5e02deb9255a0f6ec5cc7)
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list