svn commit: r363803 - projects/clang1100-import/contrib/llvm-project/compiler-rt/lib/builtins
Dimitry Andric
dim at FreeBSD.org
Mon Aug 3 17:51:58 UTC 2020
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);
More information about the svn-src-projects
mailing list