Skip site navigation (1)Skip section navigation (2)
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>