Hi Andrew, On 11 July 2018 at 11:19, Andrew Pinski <pins...@gmail.com> wrote: > On Tue, Jul 10, 2018 at 6:14 PM Kugan Vivekanandarajah > <kugan.vivekanandara...@linaro.org> wrote: >> >> On 10 July 2018 at 23:17, Richard Biener <richard.guent...@gmail.com> wrote: >> > On Tue, Jul 10, 2018 at 3:06 PM Kugan Vivekanandarajah >> > <kugan.vivekanandara...@linaro.org> wrote: >> >> >> >> Hi, >> >> >> >> Jeff told me that the recent popcount built-in detection is causing >> >> kernel build issues as >> >> ERROR: "__popcountsi2" >> >> [drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko] undefined! >> >> >> >> I could also reproduce this. AFIK, we should check if the libfunc is >> >> defined while checking popcount? >> >> >> >> I am testing the attached RFC patch. Is this reasonable? >> > >> > It doesn't work that way, all targets have this libfunc in libgcc. This >> > means >> > the kernel has to provide it. The only thing you could do is restrict >> > replacement of CALL_EXPRs (in SCEV cprop) to those the target >> > natively supports. >> >> How about restricting it in expression_expensive_p ? Is that what you >> wanted. Attached patch does this. >> Bootstrap and regression testing progressing. > > Seems like that should go into is_inexpensive_builtin instead which > is just tested right below.
I hought about that. is_inexpensive_builtin is used in various other places including some inlining decision so wasn't sure if it is the right thing. Happy to change it if that is the right thing to do. Thanks, Kugan > > Thanks, > Andrew > >> >> Thanks, >> Kugan >> >> > >> > Richard. >> > >> >> Thanks, >> >> Kugan >> >> >> >> gcc/ChangeLog: >> >> >> >> 2018-07-10 Kugan Vivekanandarajah <kug...@linaro.org> >> >> >> >> * tree-ssa-loop-niter.c (number_of_iterations_popcount): Check >> >> if libfunc for popcount is available.