git: 4184d83296df - stable/12 - Undo r230021 again, further shrinking the diff against upstream.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 22 Dec 2021 10:05:34 UTC
The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4184d83296dfcec12e3fae94870715b968e8cf83 commit 4184d83296dfcec12e3fae94870715b968e8cf83 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2020-08-03 17:51:57 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-12-22 09:58:15 +0000 Undo r230021 again, further shrinking the diff against upstream. This revision worked around an endless recursion when compiling clzdi2.c and ctzdi2.c with gcc, upstream landed a different workaround for this in https://reviews.llvm.org/rL324593, which is effective enough. Noticed by: jrtc27 (cherry picked from commit 876f11703dabed6f07d9d7352ceb996c5ffc407f) --- .../compiler-rt/lib/builtins/int_lib.h | 23 ---------------------- 1 file changed, 23 deletions(-) diff --git a/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h b/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h index 4a972da23fcc..58c6debfd4bc 100644 --- a/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h +++ b/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h @@ -98,29 +98,6 @@ // Include internal utility function declarations. #include "int_util.h" -/* - * Workaround for LLVM bug 11663. Prevent endless recursion in - * __c?zdi2(), where calls to __builtin_c?z() are expanded to - * __c?zdi2() instead of __c?zsi2(). - * - * Instead of placing this workaround in c?zdi2.c, put it in this - * global header to prevent other C files from making the detour - * through __c?zdi2() as well. - * - * This problem has been observed on FreeBSD for sparc64 and - * mips64 with GCC 4.2.1, and for riscv with GCC 5.2.0. - * Presumably it's any version of GCC, and targeting an arch that - * does not have dedicated bit counting instructions. - */ -#if defined(__FreeBSD__) && (defined(__sparc64__) || \ - defined(__mips_n32) || defined(__mips_n64) || defined(__mips_o64) || \ - defined(__riscv)) -si_int __clzsi2(si_int); -si_int __ctzsi2(si_int); -#define __builtin_clz __clzsi2 -#define __builtin_ctz __ctzsi2 -#endif /* FreeBSD && (sparc64 || mips_n32 || mips_n64 || mips_o64 || riscv) */ - COMPILER_RT_ABI int __paritysi2(si_int a); COMPILER_RT_ABI int __paritydi2(di_int a);