• Julia Lawall's avatar
    net/mlx5: drop unnecessary list_empty · 22f9d2f4
    Julia Lawall authored
    list_for_each_entry is able to handle an empty list.
    The only effect of avoiding the loop is not initializing the
    index variable.
    Drop list_empty tests in cases where these variables are not
    used.
    
    Note that list_for_each_entry is defined in terms of list_first_entry,
    which indicates that it should not be used on an empty list.  But in
    list_for_each_entry, the element obtained by list_first_entry is not
    really accessed, only the address of its list_head field is compared
    to the address of the list head, so the list_first_entry is safe.
    
    The semantic patch that makes this change is as follows (with another
    variant for the no brace case): (http://coccinelle.lip6.fr/)
    
    <smpl>
    @@
    expression x,e;
    iterator name list_for_each_entry;
    statement S;
    identifier i;
    @@
    
    -if (!(list_empty(x))) {
       list_for_each_entry(i,x,...) S
    - }
     ... when != i
    ? i = e
    </smpl>
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@inria.fr>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    22f9d2f4
dr_rule.c 33.1 KB