Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Dec 2021 10:05:34 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 4184d83296df - stable/12 - Undo r230021 again, further shrinking the diff against upstream.
Message-ID:  <202112221005.1BMA5YVo091525@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202112221005.1BMA5YVo091525>