On Wed, Sep 25, 2019 at 11:52:05AM -0700, Andrii Nakryiko wrote: > Some recent changes in latest Clang started causing the following > warning when unrolling strobemeta test case main loop: > > progs/strobemeta.h:416:2: warning: loop not unrolled: the optimizer was > unable to perform the requested transformation; the transformation might > be disabled or specified as part of an unsupported transformation > ordering [-Wpass-failed=transform-warning] > > This patch simplifies loop's exit condition to depend only on constant > max iteration number (STROBE_MAX_MAP_ENTRIES), while moving early > termination logic inside the loop body. The changes are equivalent from > program logic standpoint, but fixes the warning. It also appears to > improve generated BPF code, as it fixes previously failing non-unrolled > strobemeta test cases. > > Cc: Alexei Starovoitov <ast@xxxxxx> > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> Sounds like a clang regression? Was that from an official release? Applied.