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