2021-02-26 09:29:07

by Luc Van Oostenryck

[permalink] [raw]
Subject: [PATCH] sparse: can do constant folding of __builtin_bswap*()

Sparse can do constant folding of __builtin_bswap*() since 2017.
Also, a much recent version of Sparse is needed anyway, see
commit 6ec4476ac825 ("Raise gcc version requirement to 4.9").

So, remove the comment about sparse not being yet able to constant
fold __builtin_bswap*() and remove the corresponding test of __CHECKER__.

Signed-off-by: Luc Van Oostenryck <[email protected]>
---
include/linux/compiler-gcc.h | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 74c6c0486eed..d1016cc6798a 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -95,15 +95,11 @@
*/
#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)

-/*
- * sparse (__CHECKER__) pretends to be gcc, but can't do constant
- * folding in __builtin_bswap*() (yet), so don't set these for it.
- */
-#if defined(CONFIG_ARCH_USE_BUILTIN_BSWAP) && !defined(__CHECKER__)
+#if defined(CONFIG_ARCH_USE_BUILTIN_BSWAP)
#define __HAVE_BUILTIN_BSWAP32__
#define __HAVE_BUILTIN_BSWAP64__
#define __HAVE_BUILTIN_BSWAP16__
-#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP && !__CHECKER__ */
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */

#if GCC_VERSION >= 70000
#define KASAN_ABI_VERSION 5
--
2.30.0


2021-02-26 10:43:30

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] sparse: can do constant folding of __builtin_bswap*()

On Fri, Feb 26, 2021 at 10:22 AM Luc Van Oostenryck
<[email protected]> wrote:
>
> Sparse can do constant folding of __builtin_bswap*() since 2017.
> Also, a much recent version of Sparse is needed anyway, see
> commit 6ec4476ac825 ("Raise gcc version requirement to 4.9").
>
> So, remove the comment about sparse not being yet able to constant
> fold __builtin_bswap*() and remove the corresponding test of __CHECKER__.
>
> Signed-off-by: Luc Van Oostenryck <[email protected]>

Acked-by: Arnd Bergmann <[email protected]>

2021-02-26 12:19:55

by Miguel Ojeda

[permalink] [raw]
Subject: Re: [PATCH] sparse: can do constant folding of __builtin_bswap*()

On Fri, Feb 26, 2021 at 10:22 AM Luc Van Oostenryck
<[email protected]> wrote:
>
> Sparse can do constant folding of __builtin_bswap*() since 2017.
> Also, a much recent version of Sparse is needed anyway, see
> commit 6ec4476ac825 ("Raise gcc version requirement to 4.9").
>
> So, remove the comment about sparse not being yet able to constant
> fold __builtin_bswap*() and remove the corresponding test of __CHECKER__.
>
> Signed-off-by: Luc Van Oostenryck <[email protected]>

Acked-by: Miguel Ojeda <[email protected]>

Cheers,
Miguel