let print_il_basic_block b =
let string_of_int_list = Ctt_printer.print_list string_of_int "," in
print_string ("predecessor: "^(string_of_int_list b.predecessor)^"\n");
print_string ("successor: "^(string_of_int_list b.successor)^"\n");
Printf.printf "immediate dominator: %d\n" b.immediate_dominator;
Printf.printf "nest level : %d\n" b.nest_level;
let print_phi_function( n, t, a ) =
let l = Ctt_printer.print_list print_id "," (Array.to_list a) in
print_string ((print_id n)^" : "^(print_c_type t)^" = phi("^l^")\n")
in
List.iter print_phi_function b.phi_function;
List.iter (function insn -> print_string (print_il insn)) b.code