let print_basic_block b =
let string_of_int_list = 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");
print_string ("immediate dominator: "^(string_of_int b.immediate_dominator)^"\n");
List.iter (fun x -> print_string (print_il1 x)) b.code