Re: [PATCH] powerpc: mm: radix_tlb: rearrange the if-else block

From
Arnd Bergmann <arnd@arndb.de>
Date
2021-11-26 14:01:50
Also in
lkml, llvm
Reply to
Christophe Leroy, 2021-11-26
On Fri, Nov 26, 2021 at 2:43 PM Christophe Leroy
[off-list ref] wrote:
Le 25/11/2021 à 16:44, Anders Roxell a écrit :
Can't you fix CLANG instead :) ?

Or just add an else to the IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) that
sets hstart and hend to 0 ?
That doesn't sound any less risky than duplicating the code, it can lead to
incorrect changes just as easily if a patch ends up actually flushing at the
wrong address, and the compiler fails to complain because of the bogus
initialization.
Or just put hstart and hend calculation outside the IS_ENABLED() ? After
all GCC should drop the calculation when not used.
I like this one. I'm still unsure how clang can get so confused about whether
the variables are initialized or not, usually it handles this much better than
gcc. My best guess is that one of the memory clobbers makes it conclude
that 'hflush' can be true when it gets written to by an inline asm.

        Arnd
Thread (5 messages) 5 messages, 4 authors, last reply 2021-11-26
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help