[compiler-rt] 6ffc445 - [PGO][AIX] Disable multi-process continuous mode test in 32-bit

Wael Yehia via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 15 11:09:24 PST 2025


Author: Wael Yehia
Date: 2025-01-15T19:21:14Z
New Revision: 6ffc4451037bbae26cce51fb80418f8e9ed2ac84

URL: https://github.com/llvm/llvm-project/commit/6ffc4451037bbae26cce51fb80418f8e9ed2ac84
DIFF: https://github.com/llvm/llvm-project/commit/6ffc4451037bbae26cce51fb80418f8e9ed2ac84.diff

LOG: [PGO][AIX] Disable multi-process continuous mode test in 32-bit

In PGO continuous mode, we mmap the profile file into shared memory, which
allows multiple processes to be updating the same memory.

The -fprofile-update=atomic option forces the counter increments to be atomic,
but the counter size is always 64-bit (in -m32 and -m64), so in 32-bit mode the
atomic operations are function calls to libatomic.a and these function calls use
locks.

The lock based libatomic.a functions are per-process, so two processes will race
on the same shared memory because each will acquire their own lock.

Added: 
    

Modified: 
    compiler-rt/test/profile/ContinuousSyncMode/online-merging.c

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/profile/ContinuousSyncMode/online-merging.c b/compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
index c1931410f8c760..b11a098b4d2b7d 100644
--- a/compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
+++ b/compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
@@ -1,4 +1,5 @@
 // REQUIRES: continuous-mode
+// UNSUPPORTED: powerpc-{{.*}}
 
 // Test the online merging mode (%m) along with continuous mode (%c).
 //


        


More information about the llvm-commits mailing list