Messages in this thread | | | From | Vincent MAILHOL <> | Date | Thu, 12 May 2022 10:18:40 +0900 | Subject | Re: [PATCH v3 1/2] x86/asm/bitops: ffs: use __builtin_ffs to evaluate constant expressions |
| |
On Thu. 12 May 2022 at 09:28, Nick Desaulniers <ndesaulniers@google.com> wrote: > On Wed, May 11, 2022 at 5:04 PM Vincent Mailhol > <mailhol.vincent@wanadoo.fr> wrote: > > > > And finally, Nick Desaulniers pointed out in [2] that this also fixes > > a constant propagation missed-optimization in clang. > > > > [2] https://lore.kernel.org/all/CAKwvOdnH_gYv4qRN9pKY7jNTQK95xNeH1w1KZJJmvCkh8xJLBg@mail.gmail.com/ > > Regarding > https://github.com/llvm/llvm-project/issues/55394 > it seems that functions with static linkage cannot be considered > library functions, so libcall optimization will not run on calls to > them. So the compiler might be able to do a better job for constants > if ffs() and friends indeed were not defined in a header as static > inline. But that relies on the compiler knowing these tricks; I think > the kernel's approach is just fine (better in fact, because we should > inline these tiny functions, regardless of LTO), but like this series > shows, there may be room for improvement for other functions within > the kernel that are defined as static inline in headers that are > normally found in a libc. > > So I no longer think there's a missed optimization here, but at this > point, it's not worth a respin of the series IMO to just let sleeping > dogs lie. > > Unless the x86 maintainers wouldn't mind dropping that line and link > when applying?
Let me send the v4, this will save the x86 maintainers some manual editing effort (add will add your "Review-by" tag in patch 2 while doing so).
| |