llvm/compiler-rt/lib
Carlo Marcelo Arenas Belón 81f5c6270c [compiler-rt] Implement __clear_cache on FreeBSD/powerpc
dd9173420f (Add clear_cache implementation for ppc64. Fix buffer to
meet ppc64 alignment., 2017-07-28), adds an implementation for
__builtin___clear_cache on powerpc64, which was promptly ammended to
also be used with big endian mode in f67036b62c (This ppc64 implementation
of clear_cache works for both big and little endian., 2017-08-02)

clang will use this implementation for it's builtin on FreeBSD and result
in an abort() in the cases where 32-bit generation was requested (ex in
macppc or when the big endian powerpc64 build was done with "-m32") and as
reported[1] recently with pcre2, but there is no reason why the same code
couldn't be used in those cases, so use instead the more generic identifier
for the PowerPC architecture.

While at it, update the comment to reflect that POWER8/9 have a 128 byte
wide cache line and so the code could instead use 64 byte windows instead
but that possible optimization has been punted for now.

[1] https://github.com/PhilipHazel/pcre2/issues/92

Reviewed By: jhibbits, #powerpc, MaskRay

Differential Revision: https://reviews.llvm.org/D122640
2022-03-31 14:19:26 +00:00
..
asan [lsan] On Fuchsia, don't use atexit hook for leak checks 2022-03-29 17:13:55 -07:00
BlocksRuntime
builtins [compiler-rt] Implement __clear_cache on FreeBSD/powerpc 2022-03-31 14:19:26 +00:00
cfi sanitizer_common: prefix thread-safety macros with SANITIZER_ 2022-01-07 15:11:00 +01:00
crt Revert "[CMake][compiler-rt] Make CRT separately buildable" 2022-03-07 23:59:29 -08:00
dfsan [DFSan] Remove trampolines to unblock opaque pointers. (Reland with fix) 2022-03-14 16:03:25 -07:00
fuzzer Reapply "[cmake] Prefix gtest and gtest_main with "llvm_"." 2022-03-04 13:45:43 -08:00
gwp_asan Reapply "[cmake] Prefix gtest and gtest_main with "llvm_"." 2022-03-04 13:45:43 -08:00
hwasan [HWASan] Use hwasan_memalign for aligned new. 2022-02-23 14:22:03 -08:00
interception Reapply "[cmake] Prefix gtest and gtest_main with "llvm_"." 2022-03-04 13:45:43 -08:00
lsan [lsan] On Fuchsia, don't use atexit hook for leak checks 2022-03-29 17:13:55 -07:00
memprof Reland "[memprof] Refactor out the MemInfoBlock into a macro based def." 2022-02-14 16:05:05 -08:00
msan [msan] Add interceptors for Linux 64-bit stat variants 2022-03-15 20:22:28 -07:00
orc Reapply "[cmake] Prefix gtest and gtest_main with "llvm_"." 2022-03-04 13:45:43 -08:00
profile [InstrProf][NFC] Fix warning by removing typecast 2022-03-04 10:48:25 -08:00
safestack Revert "sanitizers: increase .clang-format columns to 100" 2021-07-28 09:40:21 +02:00
sanitizer_common [Support/BLAKE3] Re-enable building with the simd-optimized implementations, v2 2022-03-31 01:00:03 -07:00
scudo [scudo] Reland: Add noreturn/pragma to suppress compiler warnings 2022-03-30 11:42:20 -07:00
stats [compiler-rt] separate lsan, ubsan, stats configuration from SANITIZER_COMMON_SUPPORTED_OS 2021-11-10 19:16:20 -08:00
tsan [TSan] Add a runtime flag to print full thread creation stacks up to the main thread 2022-03-24 17:30:27 +01:00
ubsan sanitizer_common: make internal/external headers compatible 2022-02-11 19:39:44 +01:00
ubsan_minimal [compiler-rt] separate lsan, ubsan, stats configuration from SANITIZER_COMMON_SUPPORTED_OS 2021-11-10 19:16:20 -08:00
xray Reapply "[cmake] Prefix gtest and gtest_main with "llvm_"." 2022-03-04 13:45:43 -08:00
CMakeLists.txt