let compute_postdom kf =
  let return = Kernel_function.find_return kf in
  try
    let _ = PostDom.find return.sid in
    Parameters.result "(post) computed for function %a"
      Kernel_function.pretty_name kf
  with Not_found ->
    Parameters.feedback "computing (post) for function %a"
      Kernel_function.pretty_name kf;
    let f = kf.fundec in
    let stmts = match f with
      | Definition (f,_) -> f.sallstmts
      | Declaration _ ->
          Parameters.fatal "cannot compute postdominators for a leaf function"
    in
      List.iter (fun s -> PostDom.add s.sid DomSet.Top) stmts;
      PostCompute.compute [return];
      Parameters.feedback "done for function %a"
        Kernel_function.pretty_name kf