method vstmt_aux stmt =
    match stmt.skind with
      | Return (_,loc)  ->
          if not (Data_for_aorai.isIgnoredFunction !current_function) then begin
            let sync_inst_l = Aorai_utils.synch_upd auto (!current_function) Promelaast.Return loc None None in
            let new_return = mkStmt stmt.skind in
            new_return.sid<-(Cil.Sid.next ());
            let new_stmts =
              List.fold_left
                (fun stmt_l inst ->
                   let n_stmt=(Cil.mkStmtOneInstr inst) in
                   n_stmt.sid<-(Cil.Sid.next ());
                   n_stmt::stmt_l
                )
                [new_return]
                sync_inst_l

            in
              stmt.skind<-Block(Cil.mkBlock(new_stmts))
          end;
          SkipChildren



      (* This second treatment can be done easierly with vinst method, but sid is then set to -1 *)
      | Instr(Call (_,funcexp,_,loc)) ->
          if not (Data_for_aorai.isIgnoredFunction (get_call_name funcexp)) then begin

            let sync_inst_l = Aorai_utils.synch_upd auto (get_call_name funcexp) Promelaast.Call loc (Some(!current_function)) (Some(stmt.sid)) in
            let new_call = mkStmt stmt.skind in
            new_call.sid<-(Cil.Sid.next ());
            let new_stmts =
              List.fold_left
                (fun stmt_l inst ->
                   let n_stmt=(Cil.mkStmtOneInstr inst) in
                   n_stmt.sid<-(Cil.Sid.next ());
                   n_stmt::stmt_l
                )
                [new_call]
                sync_inst_l

            in
              stmt.skind<-Block(Cil.mkBlock(new_stmts))
          end;
          SkipChildren


      | _ -> DoChildren