Date: Mon, 3 Aug 2020 17:51:58 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r363803 - projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins Message-ID: <202008031751.073Hpwi2046137@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Mon Aug 3 17:51:57 2020 New Revision: 363803 URL: https://svnweb.freebsd.org/changeset/base/363803 Log: 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 Modified: projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h Modified: projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h ============================================================================== --- projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h Mon Aug 3 17:18:12 2020 (r363802) +++ projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins/int_lib.h Mon Aug 3 17:51:57 2020 (r363803) @@ -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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008031751.073Hpwi2046137>