let doStmt stmt =
    if !debug then Kernel.debug "looking at: %a\n" d_stmt stmt;
    match stmt.succs with
      [] -> let u,_d = UD.computeUseDefStmtKind stmt.skind in
      if !debug then (Kernel.debug "doStmt: no succs %d\n" stmt.sid);
      DF.Done u
    | _ ->
        let handle_stm vs = match stmt.skind with
          Instr _ -> vs
        | s -> let u, d = UD.computeUseDefStmtKind s in
          VS.union u (VS.diff vs d)
        in
        DF.Post handle_stm