let rec fold_blocks b =
b.bstmts <- List.fold_right
(fun s acc ->
match s.skind with
Block ib ->
fold_blocks ib;
if (List.length ib.battrs = 0 &&
List.length s.labels = 0) then
ib.bstmts @ acc
else
s::acc
| Instr (Skip _) when s.labels = [] ->
acc
| _ -> s::acc)
b.bstmts
[]