• Julia Lawall's avatar
    mtd: physmap_of: Drop unnecessary static · 6c51a52e
    Julia Lawall authored
    Drop static on a local variable, when the variable is initialized before
    any use on every possible execution path through the function.  The static
    has no benefit, and dropping it reduces the code size.
    
    The semantic patch that fixes this problem is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @bad exists@
    position p;
    identifier x;
    type T;
    @@
    
    static T x@p;
    ...
    x = <+...x...+>
    
    @@
    identifier x;
    expression e;
    type T;
    position p != bad.p;
    @@
    
    -static
     T x@p;
     ... when != x
         when strict
    ?x = e;
    // </smpl>
    
    The change in code size is indicates by the following output from the size
    command.
    
    before:
       text    data     bss     dec     hex filename
        835      80       8     923     39b drivers/mtd/maps/physmap_of_gemini.o
    
    after:
       text    data     bss     dec     hex filename
        823      80       0     903     387 drivers/mtd/maps/physmap_of_gemini.o
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    6c51a52e
physmap_of_gemini.c 3.22 KB