memory profile of the compiler
Zoltan Somogyi
zs at cs.mu.oz.au
Tue Aug 12 19:32:20 AEST 1997
I have just finished the first full draft of a memory profiler for Mercury.
I tried it out on the compiler. The results are pretty flat; no single type
or procedure dominates, apart from list and tree234 cells. Goal_infos take up
less space than I expected. The one place where it looks like tuning could
lead to significant memory usage reductions is the parser; in particular,
changing the representation of parser__state looks promising. I will look
into this tomorrow.
Zoltan.
Memory profile by procedure
procedure label Cells Words
tree234__update_4_0 97873/ 3.9% 479950/ 6.2%
list__merge_and_remove_dups_3_0 199073/ 8.0% 398146/ 5.2%
parser__get_token_3_0 58425/ 2.3% 292125/ 3.8%
parser__parse_rest_7_0 98000/ 3.9% 268644/ 3.5%
lexer__get_name_4_0 138210/ 5.5% 258279/ 3.3%
parser__get_token_4_0 47290/ 1.9% 236450/ 3.1%
tree234__set2_4_1 46136/ 1.9% 229952/ 3.0%
io__read_char_4_0 217934/ 8.7% 217934/ 2.8%
list__split_list_4_0 106910/ 4.3% 213820/ 2.8%
hlds_module__module_info_set_preds_3_0 13690/ 0.5% 191660/ 2.5%
tree234__set3_4_1 22941/ 0.9% 190134/ 2.5%
lexer__get_token_list_3_0 92306/ 3.7% 184612/ 2.4%
set_ordlist__insert_3_1 86877/ 3.5% 173754/ 2.3%
list__append_3_1 83477/ 3.4% 166954/ 2.2%
tree234__insert3_4_1 18596/ 0.7% 151616/ 2.0%
tree234__insert2_4_1 23952/ 1.0% 122871/ 1.6%
hlds_pred__pred_info_set_procedures_3_0 8384/ 0.3% 117376/ 1.5%
tree234__split_four_5_1 21566/ 0.9% 86264/ 1.1%
parser__parse_simple_term_2_6_0 48938/ 2.0% 80206/ 1.0%
list__remove_adjacent_dups_2_3_0 39067/ 1.6% 78134/ 1.0%
mode_info__mode_info_set_module_info_3_0 4586/ 0.2% 73376/ 1.0%
prog_util__construct_qualified_term_4_0 34215/ 1.4% 73079/ 0.9%
list__merge_sort_2_0 35583/ 1.4% 71166/ 0.9%
tree234__set_4_1 17320/ 0.7% 70030/ 0.9%
hlds_goal__goal_info_set_nonlocals_3_0 5944/ 0.2% 65384/ 0.8%
hlds_goal__goal_info_init_1_0 5859/ 0.2% 64449/ 0.8%
prog_io_goal__parse_qualified_term_4_0 31286/ 1.3% 61118/ 0.8%
tree234__tree234_to_assoc_list_2_3_0 29622/ 1.2% 59244/ 0.8%
quantification__set_nonlocals_3_0 7118/ 0.3% 56944/ 0.7%
list__merge_3_0 28334/ 1.1% 56668/ 0.7%
mode_info__mode_info_set_instmap_3_0 3463/ 0.1% 55408/ 0.7%
quantification__set_outside_3_0 6540/ 0.3% 52320/ 0.7%
parser__parse_args_3_0 18783/ 0.8% 50088/ 0.6%
hlds_pred__proc_info_set_argmodes_3_0 3093/ 0.1% 46395/ 0.6%
hlds_module__module_info_set_predicate_table_3_0 2295/ 0.1% 43605/ 0.6%
string__int_list_to_char_list_2_0 21152/ 0.8% 42304/ 0.5%
mode_info__mode_info_set_io_state_3_0 2500/ 0.1% 40000/ 0.5%
parser__get_term_context_4_0 19282/ 0.8% 38564/ 0.5%
set_ordlist__intersect_3_0 18841/ 0.8% 37682/ 0.5%
lexer__get_token_1_3_0 18164/ 0.7% 36328/ 0.5%
varset__new_var_3_0 11631/ 0.5% 34893/ 0.5%
mode_info__mode_info_set_delay_info_3_0 2008/ 0.1% 32128/ 0.4%
io__get_globals_3_0 6391/ 0.3% 31955/ 0.4%
hlds_pred__proc_info_set_goal_3_0 2102/ 0.1% 31530/ 0.4%
mode_info__mode_info_remove_live_vars_3_0 1954/ 0.1% 31264/ 0.4%
hlds_goal__goal_info_set_context_3_0 2742/ 0.1% 30162/ 0.4%
tree234__keys_2_3_0 14767/ 0.6% 29534/ 0.4%
hlds_pred__proc_info_set_vartypes_3_0 1964/ 0.1% 29460/ 0.4%
varset__name_var_4_0 9635/ 0.4% 28905/ 0.4%
quantification__update_seen_vars_3_0 3590/ 0.1% 28720/ 0.4%
term__apply_substitution_3_0 9534/ 0.4% 28602/ 0.4%
tree234__insert_4_0 6727/ 0.3% 26908/ 0.3%
set_bbbtree__build_node_4_1 8876/ 0.4% 26628/ 0.3%
hlds_goal__goal_info_set_instmap_delta_3_0 2383/ 0.1% 26213/ 0.3%
hlds_pred__proc_info_init_7_0 3054/ 0.1% 25959/ 0.3%
quantification__set_lambda_outside_3_0 3233/ 0.1% 25864/ 0.3%
hlds_pred__proc_info_set_typeinfo_varmap_3_0 1718/ 0.1% 25770/ 0.3%
quantification__implicitly_quantify_conj_2_5_0 5146/ 0.2% 25730/ 0.3%
parser__parse_left_term_6_0 14668/ 0.6% 25669/ 0.3%
hlds_pred__pred_info_set_typevarset_3_0 1801/ 0.1% 25214/ 0.3%
parser__read_term_4_0 5718/ 0.2% 24778/ 0.3%
string__int_to_base_string_2_3_0 12154/ 0.5% 24308/ 0.3%
hlds_pred__proc_info_set_varset_3_0 1557/ 0.1% 23355/ 0.3%
hlds_pred__proc_info_set_headvars_3_0 1527/ 0.1% 22905/ 0.3%
make_hlds__create_atomic_unification_6_0 7284/ 0.3% 21852/ 0.3%
type_util__type_to_type_id_3_0 10851/ 0.4% 21702/ 0.3%
hlds_pred__pred_info_set_arg_types_4_0 1528/ 0.1% 21392/ 0.3%
hlds_goal__goal_info_set_post_deaths_3_0 1925/ 0.1% 21175/ 0.3%
hlds_goal__goal_info_set_pre_deaths_3_0 1925/ 0.1% 21175/ 0.3%
mode_info__mode_info_set_call_arg_context_3_0 2346/ 0.1% 21114/ 0.3%
list__reverse_2_3_0 10526/ 0.4% 21052/ 0.3%
code_info__rem_forward_live_vars_3_0 988/ 0.0% 20748/ 0.3%
term__apply_substitution_to_list_3_0 10329/ 0.4% 20658/ 0.3%
hlds_pred__pred_info_init_13_0 1472/ 0.1% 20608/ 0.3%
hlds_pred__proc_info_set_arg_info_3_0 1368/ 0.1% 20520/ 0.3%
lexer__get_token_2_3_0 10172/ 0.4% 20344/ 0.3%
code_info__make_vars_forward_dead_3_0 964/ 0.0% 20244/ 0.3%
mode_info__mode_info_add_live_vars_3_0 2931/ 0.1% 19540/ 0.3%
mode_info__mode_info_set_nondet_live_vars_3_0 1162/ 0.0% 18592/ 0.2%
inst_util__abstractly_unify_inst_8_0 4587/ 0.2% 18074/ 0.2%
mode_info__mode_info_set_context_3_0 1082/ 0.0% 17312/ 0.2%
mode_info__mode_info_set_call_context_3_0 1906/ 0.1% 17154/ 0.2%
hlds_goal__goal_info_set_post_births_3_0 1559/ 0.1% 17149/ 0.2%
assoc_list__from_corresponding_2_3_0 8392/ 0.3% 16784/ 0.2%
simplify__simplify_info_set_branch_info_3_0 1518/ 0.1% 16698/ 0.2%
hlds_goal__goal_info_set_pre_births_3_0 1472/ 0.1% 16192/ 0.2%
hlds_module__predicate_table_insert_5_0 2944/ 0.1% 16192/ 0.2%
hlds_module__predicate_table_do_insert_11_0 8011/ 0.3% 16022/ 0.2%
arg_info__make_arg_infos_compact_list_6_0 7958/ 0.3% 15916/ 0.2%
hlds_pred__make_n_fresh_vars_2_6_0 7958/ 0.3% 15916/ 0.2%
inst_match__inst_matches_binding_2_4_0 7805/ 0.3% 15610/ 0.2%
code_info__add_forward_live_vars_3_0 732/ 0.0% 15372/ 0.2%
quantification__implicitly_quantify_goal_2_5_0 3878/ 0.2% 15310/ 0.2%
mode_util__propagate_ctor_info_lazily_5_0 7632/ 0.3% 15250/ 0.2%
mode_info__mode_info_unset_call_context_2_0 953/ 0.0% 15248/ 0.2%
code_info__make_vars_forward_dead_2_3_0 698/ 0.0% 14658/ 0.2%
term__apply_rec_substitution_3_0 4884/ 0.2% 14652/ 0.2%
hlds_module__module_info_set_special_pred_map_3_0 771/ 0.0% 14649/ 0.2%
mode_util__mode_get_insts_semidet_4_0 7272/ 0.3% 14544/ 0.2%
peephole__opt_instr_5_0 7198/ 0.3% 14396/ 0.2%
simplify__simplify_info_update_instmap_3_0 1287/ 0.1% 14157/ 0.2%
lexer__get_graphic_4_0 11550/ 0.5% 13968/ 0.2%
varset__init_1_0 4625/ 0.2% 13875/ 0.2%
simplify__conj_6_0 1250/ 0.1% 13750/ 0.2%
varset__new_vars_2_5_0 5342/ 0.2% 13355/ 0.2%
hlds_goal__goal_info_set_follow_vars_3_0 1136/ 0.0% 12496/ 0.2%
quantification__implicitly_quantify_unify_rhs_5_0 1524/ 0.1% 12192/ 0.2%
goal_util__rename_var_list_4_0 6054/ 0.2% 12108/ 0.2%
code_info__set_exprn_info_3_0 552/ 0.0% 11592/ 0.2%
dupelim__replace_labels_instr_list_3_0 5490/ 0.2% 10980/ 0.1%
equiv_type__replace_in_item_list_5_0 3851/ 0.2% 10833/ 0.1%
labelopt__instr_list_5_0 5049/ 0.2% 9883/ 0.1%
unify_proc__info_new_var_4_0 3238/ 0.1% 9714/ 0.1%
llds_out__get_proc_label_2_0 4834/ 0.2% 9668/ 0.1%
list__delete_first_3_0 4784/ 0.2% 9568/ 0.1%
quantification__implicitly_quantify_goal_4_0 4704/ 0.2% 9408/ 0.1%
type_util__substitute_type_args_3_3_0 4584/ 0.2% 9168/ 0.1%
opt_util__instr_rvals_and_lvals_3_0 4569/ 0.2% 9138/ 0.1%
hlds_module__module_info_set_insts_3_0 475/ 0.0% 9025/ 0.1%
mode_util__propagate_type_into_mode_4_0 4408/ 0.2% 8816/ 0.1%
mode_util__propagate_types_into_mode_list_4_0 4408/ 0.2% 8816/ 0.1%
type_util__substitute_type_args_2_3_0 4362/ 0.2% 8724/ 0.1%
quantification__set_quant_vars_3_0 1064/ 0.0% 8512/ 0.1%
lexer__get_variable_4_0 4742/ 0.2% 8425/ 0.1%
set_ordlist__difference_3_0 4204/ 0.2% 8408/ 0.1%
prog_util__split_types_and_modes_2_5_0 4168/ 0.2% 8336/ 0.1%
typecheck__typecheck_info_set_type_assign_set_3_0 635/ 0.0% 8255/ 0.1%
jumpopt__instr_list_11_0 4021/ 0.2% 8108/ 0.1%
inst_match__inst_matches_initial_2_4_0 4008/ 0.2% 8016/ 0.1%
code_exprn__update_dependent_vars_2_6_0 4791/ 0.2% 7848/ 0.1%
opt_util__filter_out_bad_livevals_2_0 3900/ 0.2% 7800/ 0.1%
hlds_pred__pred_info_set_clauses_info_3_0 553/ 0.0% 7742/ 0.1%
code_info__apply_instmap_delta_3_0 366/ 0.0% 7686/ 0.1%
code_info__post_goal_update_3_0 366/ 0.0% 7686/ 0.1%
code_info__set_instmap_3_0 366/ 0.0% 7686/ 0.1%
polymorphism__process_procs_4_0 1527/ 0.1% 7635/ 0.1%
prog_io__read_items_loop_2_11_0 3812/ 0.2% 7624/ 0.1%
term__apply_rec_substitution_to_list_3_0 3797/ 0.2% 7594/ 0.1%
hlds_module__predicate_table_set_preds_3_0 825/ 0.0% 7425/ 0.1%
typecheck__typecheck_goal_4_0 990/ 0.0% 7425/ 0.1%
make_hlds__clauses_info_init_2_0 1472/ 0.1% 7360/ 0.1%
opt_util__skip_to_next_label_3_0 3496/ 0.1% 6992/ 0.1%
quantification__get_vars_2_4_0 3408/ 0.1% 6816/ 0.1%
typecheck__typecheck_var_has_type_list_5_0 522/ 0.0% 6786/ 0.1%
typecheck__typecheck_info_set_io_state_3_0 521/ 0.0% 6773/ 0.1%
simplify__simplify_info_set_common_info_3_0 613/ 0.0% 6743/ 0.1%
unify_proc__build_call_5_0 2232/ 0.1% 6696/ 0.1%
simplify__simplify_info_maybe_clear_structs_4_0 607/ 0.0% 6677/ 0.1%
term__apply_variable_renaming_3_0 2214/ 0.1% 6642/ 0.1%
quantification__implicitly_quantify_atomic_goal_3_0 825/ 0.0% 6600/ 0.1%
code_exprn__add_lval_reg_dependencies_3_0 933/ 0.0% 6531/ 0.1%
polymorphism__process_goal_expr_5_0 3721/ 0.1% 6444/ 0.1%
hlds_goal__goal_info_set_determinism_3_0 581/ 0.0% 6391/ 0.1%
hlds_pred__pred_info_set_import_status_3_0 456/ 0.0% 6384/ 0.1%
instmap__compute_instmap_delta_2_4_0 3092/ 0.1% 6184/ 0.1%
quantification__implicitly_quantify_goal_8_0 769/ 0.0% 6152/ 0.1%
code_exprn__var_becomes_dead_3_0 878/ 0.0% 6146/ 0.1%
polymorphism__fixup_quantification_4_0 1527/ 0.1% 6108/ 0.1%
hlds_pred__proc_info_set_variables_3_0 407/ 0.0% 6105/ 0.1%
unify_proc__compare_args_6_0 2916/ 0.1% 6034/ 0.1%
modecheck_unify__modecheck_unification_9_0 2412/ 0.1% 5970/ 0.1%
code_info__set_label_count_3_0 281/ 0.0% 5901/ 0.1%
simplify__simplify_info_set_instmap_3_0 532/ 0.0% 5852/ 0.1%
special_pred__special_pred_info_6_0 2891/ 0.1% 5782/ 0.1%
code_info__save_variable_on_stack_4_0 270/ 0.0% 5670/ 0.1%
goal_util__name_apart_2_4_0 1106/ 0.0% 5602/ 0.1%
opt_util__find_no_fallthrough_2_0 2771/ 0.1% 5542/ 0.1%
prog_io_util__convert_mode_2_0 2726/ 0.1% 5452/ 0.1%
code_exprn__rem_lval_reg_dependencies_3_0 775/ 0.0% 5425/ 0.1%
llds_out__qualify_name_3_0 2670/ 0.1% 5340/ 0.1%
llds_common__process_instrs_4_0 2636/ 0.1% 5272/ 0.1%
tree234__delete_2_4_1 1087/ 0.0% 5197/ 0.1%
prog_io__process_mode_6_0 1432/ 0.1% 5022/ 0.1%
hlds_module__module_info_set_types_3_0 259/ 0.0% 4921/ 0.1%
prog_io__parse_type_decl_pred_4_0 1372/ 0.1% 4802/ 0.1%
unify_proc__generate_clause_info_5_0 1406/ 0.1% 4684/ 0.1%
mode_info__mode_info_set_errors_3_0 290/ 0.0% 4640/ 0.1%
code_exprn__update_dependent_vars_3_6_0 3076/ 0.1% 4614/ 0.1%
prog_io_util__convert_mode_list_2_0 2285/ 0.1% 4570/ 0.1%
code_exprn__clear_lval_of_synonyms_1_4_0 1140/ 0.0% 4560/ 0.1%
prog_io__parse_mode_decl_4_0 815/ 0.0% 4560/ 0.1%
modecheck_unify__categorize_unify_var_var_12_0 1822/ 0.1% 4504/ 0.1%
hlds_module__predicate_table_search_pred_m_n_a_5_0 2247/ 0.1% 4494/ 0.1%
dupelim__replace_labels_instr_3_0 1930/ 0.1% 4457/ 0.1%
make_hlds__warn_singletons_8_0 810/ 0.0% 4455/ 0.1%
term__apply_variable_renaming_to_list_3_0 2214/ 0.1% 4428/ 0.1%
mode_util__modes_to_uni_modes_4_0 2208/ 0.1% 4416/ 0.1%
modecheck_unify__get_mode_of_args_2_3_0 2208/ 0.1% 4416/ 0.1%
code_info__cache_expression_4_0 208/ 0.0% 4368/ 0.1%
hlds_goal__goal_info_set_resume_point_3_0 392/ 0.0% 4312/ 0.1%
parser__add_var_4_0 1068/ 0.0% 4272/ 0.1%
code_gen__add_saved_succip_3_0 2123/ 0.1% 4246/ 0.1%
unify_proc__generate_du_index_clauses_7_0 2024/ 0.1% 4232/ 0.1%
typecheck__typecheck_info_set_arg_num_3_0 324/ 0.0% 4212/ 0.1%
typecheck__typecheck_info_set_unify_context_3_0 324/ 0.0% 4212/ 0.1%
code_exprn__place_evaled_6_0 2160/ 0.1% 4182/ 0.1%
equiv_type__replace_in_tms_5_0 2084/ 0.1% 4168/ 0.1%
prog_io__convert_type_and_mode_list_2_0 2084/ 0.1% 4168/ 0.1%
unify_proc__generate_du_unify_clauses_6_0 1840/ 0.1% 4048/ 0.1%
prog_io__process_read_term_3_0 1986/ 0.1% 4016/ 0.1%
code_info__set_follow_vars_3_0 191/ 0.0% 4011/ 0.1%
set__singleton_set_2_1 1949/ 0.1% 3898/ 0.1%
make_hlds__add_special_pred_decl_8_0 3084/ 0.1% 3855/ 0.0%
typecheck__type_assign_var_has_type_6_0 1528/ 0.1% 3820/ 0.0%
parser__check_for_errors_5_0 1906/ 0.1% 3812/ 0.0%
prog_io_util__add_context_3_0 1906/ 0.1% 3812/ 0.0%
modecheck_unify__split_complicated_subunifies_2_7_0 1892/ 0.1% 3784/ 0.0%
simplify__simplify_info_post_branch_update_3_0 340/ 0.0% 3740/ 0.0%
modecheck_unify__modecheck_unify_functor_12_0 1848/ 0.1% 3720/ 0.0%
simplify__goal_4_0 1836/ 0.1% 3672/ 0.0%
inst_util__inst_merge_5_0 1869/ 0.1% 3671/ 0.0%
unify_proc__make_fresh_vars_4_0 1830/ 0.1% 3660/ 0.0%
simplify__simplify_info_reset_branch_info_3_0 332/ 0.0% 3652/ 0.0%
mode_util__mode_list_get_initial_insts_3_0 1759/ 0.1% 3518/ 0.0%
quantification__implicitly_quantify_conj_4_0 1738/ 0.1% 3476/ 0.0%
frameopt__build_block_map_8_0 1399/ 0.1% 3379/ 0.0%
module_qual__add_type_defn_3_0 516/ 0.0% 3354/ 0.0%
instmap__apply_instmap_delta_3_0 3337/ 0.1% 3337/ 0.0%
list__duplicate_3_0 1636/ 0.1% 3272/ 0.0%
code_exprn__relocate_lval_6_0 1959/ 0.1% 3266/ 0.0%
instmap__set_4_0 3255/ 0.1% 3255/ 0.0%
term__var_list_to_term_list_2_1 1617/ 0.1% 3234/ 0.0%
simplify__switch_8_0 752/ 0.0% 3196/ 0.0%
code_exprn__maybe_add_evaled_4_0 788/ 0.0% 3152/ 0.0%
varset__merge_subst_2_8_0 1538/ 0.1% 3076/ 0.0%
tree__flatten_2_3_0 1511/ 0.1% 3022/ 0.0%
code_exprn__construct_code_6_0 1572/ 0.1% 2751/ 0.0%
typecheck__typecheck_unify_var_var_4_0 211/ 0.0% 2743/ 0.0%
code_exprn__place_exprn_9_0 1602/ 0.1% 2725/ 0.0%
modes__modecheck_set_var_inst_list_2_7_0 1316/ 0.1% 2632/ 0.0%
frameopt__divide_into_basic_blocks_5_0 1309/ 0.1% 2618/ 0.0%
equiv_type__replace_in_type_list_2_8_0 1284/ 0.1% 2568/ 0.0%
inst_util__abstractly_unify_inst_functor_2_9_0 1266/ 0.1% 2532/ 0.0%
code_util__make_proc_label_4_0 419/ 0.0% 2514/ 0.0%
code_util__arg_loc_to_register_2_0 1254/ 0.1% 2508/ 0.0%
dupelim__replace_labels_rval_3_0 2152/ 0.1% 2500/ 0.0%
make_hlds__ctors_add_8_0 1225/ 0.0% 2450/ 0.0%
varset__vars_2_4_0 1223/ 0.0% 2446/ 0.0%
common__common_info_clear_structs_2_0 607/ 0.0% 2428/ 0.0%
llds_out__reg_to_string_3_0 1602/ 0.1% 2403/ 0.0%
map__apply_to_list_3_0 1200/ 0.0% 2400/ 0.0%
code_info__set_cell_count_3_0 114/ 0.0% 2394/ 0.0%
code_info__set_continuation_info_3_0 114/ 0.0% 2394/ 0.0%
code_info__set_fail_stack_3_0 114/ 0.0% 2394/ 0.0%
code_info__set_max_temp_slot_count_3_0 114/ 0.0% 2394/ 0.0%
code_info__set_succip_used_3_0 114/ 0.0% 2394/ 0.0%
code_info__slap_code_info_3_0 114/ 0.0% 2394/ 0.0%
code_info__produce_resume_vars_5_0 208/ 0.0% 2392/ 0.0%
tree234__fix_2node_t0_6_1 479/ 0.0% 2381/ 0.0%
unify_gen__make_fields_and_argvars_6_0 1344/ 0.1% 2304/ 0.0%
typecheck__typecheck_goal_2_4_0 495/ 0.0% 2264/ 0.0%
eqvclass__add_element_4_0 904/ 0.0% 2260/ 0.0%
goal_util__rename_vars_in_goal_4_0 1106/ 0.0% 2212/ 0.0%
unify_proc__generate_compare_case_7_0 1104/ 0.0% 2208/ 0.0%
equiv_type__replace_in_tm_5_0 2099/ 0.1% 2203/ 0.0%
prog_io__convert_type_and_mode_2_0 2099/ 0.1% 2203/ 0.0%
dupelim__condense_2_0 1101/ 0.0% 2202/ 0.0%
code_exprn__clear_lval_return_shuffle_5_0 959/ 0.0% 2192/ 0.0%
unify_proc__generate_compare_clauses_7_0 936/ 0.0% 2184/ 0.0%
unify_proc__make_fresh_vars_from_types_4_0 1092/ 0.0% 2184/ 0.0%
eqvclass__add_equivalence_4_0 968/ 0.0% 2178/ 0.0%
hlds_goal__conj_list_to_goal_3_0 1432/ 0.1% 2148/ 0.0%
opt_util__instr_labels_2_3_0 1073/ 0.0% 2146/ 0.0%
simplify__conjoin_goal_and_rev_goal_list_3_0 1061/ 0.0% 2122/ 0.0%
goal_util__rename_unify_4_0 630/ 0.0% 2120/ 0.0%
simplify__simplify_info_create_branch_info_4_0 420/ 0.0% 2100/ 0.0%
hlds_goal__goal_set_follow_vars_3_0 322/ 0.0% 2093/ 0.0%
unify_proc__generate_du_compare_clauses_2_7_0 836/ 0.0% 2052/ 0.0%
quantification__implicitly_quantify_disj_4_0 380/ 0.0% 2026/ 0.0%
code_exprn__clobber_regs_3_0 288/ 0.0% 2016/ 0.0%
code_info__clear_all_registers_2_0 96/ 0.0% 2016/ 0.0%
code_info__succip_is_used_2_0 96/ 0.0% 2016/ 0.0%
hlds_data__inst_table_set_unify_insts_3_0 331/ 0.0% 1986/ 0.0%
code_exprn__lock_reg_3_0 276/ 0.0% 1932/ 0.0%
code_exprn__unlock_reg_3_0 276/ 0.0% 1932/ 0.0%
code_info__set_var_location_4_0 92/ 0.0% 1932/ 0.0%
simplify__excess_assigns_9_0 202/ 0.0% 1910/ 0.0%
mode_info__mode_info_add_error_3_0 210/ 0.0% 1890/ 0.0%
make_hlds__add_special_pred_list_9_0 936/ 0.0% 1872/ 0.0%
inst_util__make_ground_inst_7_0 925/ 0.0% 1850/ 0.0%
inst_match__inst_matches_final_2_4_0 923/ 0.0% 1846/ 0.0%
mode_util__mode_list_get_final_insts_3_0 922/ 0.0% 1844/ 0.0%
code_exprn__relocate_lval_2_6_0 915/ 0.0% 1830/ 0.0%
code_info__generate_branch_end_5_0 87/ 0.0% 1827/ 0.0%
simplify__simplify_info_set_varset_3_0 166/ 0.0% 1826/ 0.0%
dupelim__replace_labels_lval_3_0 453/ 0.0% 1812/ 0.0%
module_qual__id_set_insert_4_0 900/ 0.0% 1800/ 0.0%
instmap__merge_var_7_0 886/ 0.0% 1772/ 0.0%
call_gen__generate_det_call_7_0 880/ 0.0% 1760/ 0.0%
typecheck__typecheck_clause_list_6_0 224/ 0.0% 1736/ 0.0%
simplify__proc_11_0 207/ 0.0% 1725/ 0.0%
switch_detection__detect_switches_in_conj_5_0 860/ 0.0% 1720/ 0.0%
instmap__lookup_vars_3_0 836/ 0.0% 1672/ 0.0%
code_exprn__cache_exprn_4_0 416/ 0.0% 1664/ 0.0%
code_exprn__find_rvals_without_lval_3_0 831/ 0.0% 1662/ 0.0%
prog_io__parse_type_decl_4_0 570/ 0.0% 1656/ 0.0%
equiv_type__replace_in_type_2_7_0 824/ 0.0% 1648/ 0.0%
frameopt__analyze_block_map_2_6_0 507/ 0.0% 1645/ 0.0%
hlds_goal__goal_to_conj_list_2_0 813/ 0.0% 1626/ 0.0%
tree234__fix_2node_t1_6_1 289/ 0.0% 1624/ 0.0%
polymorphism__new_type_info_var_7_0 810/ 0.0% 1620/ 0.0%
hlds_module__module_info_set_ctors_3_0 83/ 0.0% 1577/ 0.0%
mode_info__mode_info_init_8_0 234/ 0.0% 1560/ 0.0%
tree234__remove_2_5_1 308/ 0.0% 1544/ 0.0%
code_exprn__get_spare_reg_2_4_0 771/ 0.0% 1542/ 0.0%
hlds_out__write_pred_id_4_0 764/ 0.0% 1528/ 0.0%
inlining__do_inlining_8_0 191/ 0.0% 1528/ 0.0%
set_bbbtree__insert_r_4_0 382/ 0.0% 1528/ 0.0%
dead_proc_elim__dead_proc_elim__LambdaGoal__1_5_0 380/ 0.0% 1520/ 0.0%
simplify__simplify_info_init_6_0 138/ 0.0% 1518/ 0.0%
opt_util__format_proclabel_2_0 755/ 0.0% 1510/ 0.0%
prog_io__get_determinism_3_0 1496/ 0.1% 1496/ 0.0%
dupelim__make_blocks_2_0 746/ 0.0% 1492/ 0.0%
relation__atsort_2_5_0 552/ 0.0% 1472/ 0.0%
dupelim__replace_labels_3_0 734/ 0.0% 1468/ 0.0%
equiv_type__replace_in_ctor_arg_list_2_8_0 732/ 0.0% 1464/ 0.0%
prog_io__convert_constructor_arg_list_2_0 732/ 0.0% 1464/ 0.0%
llds_common__process_instr_4_0 664/ 0.0% 1428/ 0.0%
hlds_pred__pred_info_mark_as_external_2_0 101/ 0.0% 1414/ 0.0%
opt_util__find_label_code_addrs_3_0 701/ 0.0% 1402/ 0.0%
goal_util__rename_vars_in_goals_4_0 694/ 0.0% 1388/ 0.0%
modes__modecheck_goal_expr_5_0 772/ 0.0% 1386/ 0.0%
inst_util__make_ground_inst_list_7_0 686/ 0.0% 1372/ 0.0%
mode_util__get_arg_lives_3_0 686/ 0.0% 1372/ 0.0%
code_info__livevals_to_livelvals_6_0 540/ 0.0% 1350/ 0.0%
simplify__goal_2_6_0 631/ 0.0% 1347/ 0.0%
code_exprn__set_follow_vars_3_0 191/ 0.0% 1337/ 0.0%
code_exprn__maybe_fix_clearcode_5_0 718/ 0.0% 1298/ 0.0%
tree234__values_2_3_0 649/ 0.0% 1298/ 0.0%
bintree__set_4_1 323/ 0.0% 1292/ 0.0%
hlds_data__set_type_defn_6_0 258/ 0.0% 1290/ 0.0%
modes__modecheck_goal_4_0 641/ 0.0% 1282/ 0.0%
frameopt__detstack_teardown_2_12_0 637/ 0.0% 1274/ 0.0%
code_gen__generate_det_prolog_4_0 699/ 0.0% 1243/ 0.0%
modecheck_unify__categorize_unify_var_functor_11_0 262/ 0.0% 1234/ 0.0%
typecheck__typecheck_call_pred_5_0 162/ 0.0% 1215/ 0.0%
code_info__pop_failure_cont_2_0 56/ 0.0% 1176/ 0.0%
code_info__push_failure_cont_3_0 56/ 0.0% 1176/ 0.0%
queue__put_3_0 586/ 0.0% 1172/ 0.0%
hlds_pred__proc_info_set_body_6_0 78/ 0.0% 1170/ 0.0%
cse_detection__detect_cse_in_goal_1_7_0 581/ 0.0% 1162/ 0.0%
det_analysis__det_infer_goal_7_0 581/ 0.0% 1162/ 0.0%
unique_modes__check_goal_4_0 581/ 0.0% 1162/ 0.0%
term__vars_2_3_0 577/ 0.0% 1154/ 0.0%
instmap__compute_instmap_delta_4_0 1144/ 0.0% 1144/ 0.0%
mode_info__mode_info_var_list_is_live_3_0 572/ 0.0% 1144/ 0.0%
det_util__det_info_set_module_info_3_0 188/ 0.0% 1128/ 0.0%
unify_proc__generate_index_clauses_6_0 470/ 0.0% 1128/ 0.0%
instmap__instmap_delta_apply_sub_4_0 1127/ 0.0% 1127/ 0.0%
common__record_cell_5_0 276/ 0.0% 1104/ 0.0%
unify_proc__unify_var_lists_3_0 732/ 0.0% 1098/ 0.0%
code_info__produce_variable_5_0 51/ 0.0% 1071/ 0.0%
common__optimise_call_2_8_0 357/ 0.0% 1071/ 0.0%
make_hlds__warn_singletons_in_unify_8_0 535/ 0.0% 1070/ 0.0%
make_hlds__make_fresh_arg_vars_2_5_0 531/ 0.0% 1062/ 0.0%
code_aux__explain_stack_slots_2_4_0 530/ 0.0% 1060/ 0.0%
inlining__inlining_in_goal_4_0 558/ 0.0% 1056/ 0.0%
typecheck__type_assign_unify_var_var_6_0 422/ 0.0% 1055/ 0.0%
typecheck__typecheck_unify_var_functor_get_ctors_2_5_0 491/ 0.0% 1040/ 0.0%
llds_out__make_base_type_name_4_0 516/ 0.0% 1032/ 0.0%
make_hlds__module_add_type_defn_9_0 516/ 0.0% 1032/ 0.0%
make_hlds__transform_goal_2_10_0 358/ 0.0% 1011/ 0.0%
bintree__keys_2_3_0 504/ 0.0% 1008/ 0.0%
code_exprn__maybe_set_evaled_4_0 246/ 0.0% 984/ 0.0%
equiv_type__replace_in_du_5_0 490/ 0.0% 980/ 0.0%
prog_io__convert_constructors_2_3_0 490/ 0.0% 980/ 0.0%
goal_util__rename_unify_rhs_4_0 647/ 0.0% 976/ 0.0%
common__record_equivalence_4_0 242/ 0.0% 968/ 0.0%
make_hlds__clauses_info_add_clause_17_0 224/ 0.0% 952/ 0.0%
module_qual__find_unique_match_8_0 476/ 0.0% 952/ 0.0%
follow_vars__find_follow_vars_in_conj_7_0 503/ 0.0% 951/ 0.0%
modecheck_unify__split_complicated_subunifies_7_0 186/ 0.0% 930/ 0.0%
switch_detection__find_bind_var_for_switch_6_0 405/ 0.0% 925/ 0.0%
store_alloc__store_alloc_in_goal_6_0 401/ 0.0% 908/ 0.0%
follow_code__move_follow_code_in_conj_2_6_0 450/ 0.0% 904/ 0.0%
set_ordlist__singleton_set_2_1 452/ 0.0% 904/ 0.0%
mode_info__mode_info_lock_vars_3_0 100/ 0.0% 900/ 0.0%
stack__push_3_0 443/ 0.0% 886/ 0.0%
queue__get_3_0 441/ 0.0% 882/ 0.0%
code_exprn__maybe_set_var_location_4_0 288/ 0.0% 864/ 0.0%
det_analysis__det_infer_conj_7_0 430/ 0.0% 860/ 0.0%
unique_modes__check_conj_4_0 430/ 0.0% 860/ 0.0%
modes__modecheck_conj_list_2_4_0 427/ 0.0% 854/ 0.0%
liveness__find_value_giving_occurrences_5_0 419/ 0.0% 838/ 0.0%
prog_io_util__binop_term_to_list_2_4_0 419/ 0.0% 838/ 0.0%
common__partition_call_args_5_0 418/ 0.0% 836/ 0.0%
make_hlds__unravel_unification_12_0 491/ 0.0% 836/ 0.0%
typecheck__typecheck_functor_type_5_0 357/ 0.0% 833/ 0.0%
cse_detection__detect_cse_in_conj_6_0 416/ 0.0% 832/ 0.0%
unify_gen__generate_tag_test_7_0 461/ 0.0% 821/ 0.0%
ite_gen__generate_basic_ite_8_0 437/ 0.0% 817/ 0.0%
hlds_data__inst_table_set_merge_insts_3_0 134/ 0.0% 804/ 0.0%
string__format_top_convert_variable_5_0 801/ 0.0% 801/ 0.0%
mode_info__mode_info_unlock_vars_3_0 50/ 0.0% 800/ 0.0%
typecheck__typecheck_goal_list_4_0 400/ 0.0% 800/ 0.0%
list__delete_all_3_1 398/ 0.0% 796/ 0.0%
code_gen__generate_det_epilog_3_0 464/ 0.0% 793/ 0.0%
hlds_pred__pred_info_set_goal_type_3_0 56/ 0.0% 784/ 0.0%
unique_modes__check_goal_2_5_0 605/ 0.0% 784/ 0.0%
polymorphism__make_head_vars_7_0 520/ 0.0% 780/ 0.0%
prog_io__make_type_defn_4_0 258/ 0.0% 774/ 0.0%
unify_gen__generate_sub_unify_7_0 384/ 0.0% 768/ 0.0%
relation__add_element_4_0 191/ 0.0% 764/ 0.0%
relation__dfs_3_6_0 382/ 0.0% 764/ 0.0%
set_bbbtree__insert_3_1 382/ 0.0% 764/ 0.0%
simplify__simplify_info_set_msgs_3_0 69/ 0.0% 759/ 0.0%
tree234__fix_3node_t1_9_1 140/ 0.0% 755/ 0.0%
make_hlds__module_add_mode_11_0 748/ 0.0% 748/ 0.0%
liveness__detect_resume_points_in_goal_6_0 372/ 0.0% 744/ 0.0%
code_info__remake_with_store_map_3_0 35/ 0.0% 735/ 0.0%
code_info__set_var_locations_3_0 35/ 0.0% 735/ 0.0%
assoc_list__values_2_0 366/ 0.0% 732/ 0.0%
code_gen__generate_goal_5_0 366/ 0.0% 732/ 0.0%
liveness__detect_deadness_in_goal_5_0 366/ 0.0% 732/ 0.0%
liveness__detect_liveness_in_goal_5_0 366/ 0.0% 732/ 0.0%
exprn_aux__substitute_rval_in_args_4_0 480/ 0.0% 720/ 0.0%
exprn_aux__substitute_rval_in_lval_4_0 178/ 0.0% 712/ 0.0%
call_gen__generate_semidet_call_2_7_0 368/ 0.0% 704/ 0.0%
eqvclass__init_1_0 276/ 0.0% 690/ 0.0%
exprn_aux__substitute_lval_in_rval_4_0 562/ 0.0% 666/ 0.0%
llds_common__process_rval_4_0 358/ 0.0% 661/ 0.0%
exprn_aux__vars_in_rval_2_0 328/ 0.0% 656/ 0.0%
cse_detection__find_bind_var_for_cse_9_0 466/ 0.0% 651/ 0.0%
tree234__fix_3node_t0_9_1 118/ 0.0% 649/ 0.0%
det_util__det_info_init_5_0 108/ 0.0% 648/ 0.0%
hlds_goal__true_goal_1_0 81/ 0.0% 648/ 0.0%
hlds_module__module_info_set_modes_3_0 34/ 0.0% 646/ 0.0%
code_info__init_14_0 30/ 0.0% 630/ 0.0%
delay_info__delay_goal_4_0 189/ 0.0% 630/ 0.0%
exprn_aux__substitute_lval_in_lval_2_4_0 157/ 0.0% 628/ 0.0%
mode_info__mode_info_set_changed_flag_3_0 39/ 0.0% 624/ 0.0%
graph_colour__divide_constraints_6_0 299/ 0.0% 598/ 0.0%
queue__put_list_3_0 296/ 0.0% 592/ 0.0%
make_tags__assign_simple_tags_5_0 293/ 0.0% 586/ 0.0%
hlds_pred__proc_info_set_inferred_determinism_3_0 39/ 0.0% 585/ 0.0%
set_ordlist__delete_3_0 292/ 0.0% 584/ 0.0%
call_gen__generate_call_livevals_5_0 384/ 0.0% 576/ 0.0%
code_exprn__construct_args_8_0 336/ 0.0% 576/ 0.0%
code_info__push_resume_point_vars_3_0 33/ 0.0% 574/ 0.0%
hlds_module__module_info_set_cell_count_3_0 30/ 0.0% 570/ 0.0%
hlds_module__module_info_set_continuation_info_3_0 30/ 0.0% 570/ 0.0%
exprn_aux__simplify_args_2_0 284/ 0.0% 568/ 0.0%
llds_out__gather_labels_from_instrs_3_0 284/ 0.0% 568/ 0.0%
unique_modes__check_case_list_6_0 282/ 0.0% 564/ 0.0%
code_util__make_internal_label_5_0 281/ 0.0% 562/ 0.0%
code_exprn__filter_out_reg_depending_2_3_0 277/ 0.0% 554/ 0.0%
code_info__setup_call_5_0 276/ 0.0% 552/ 0.0%
common__common_info_init_1_0 138/ 0.0% 552/ 0.0%
common__do_record_cell_4_0 276/ 0.0% 552/ 0.0%
exprn_aux__substitute_rval_in_rval_4_0 357/ 0.0% 549/ 0.0%
code_info__pop_resume_point_vars_2_0 26/ 0.0% 546/ 0.0%
call_gen__save_variables_2_4_0 270/ 0.0% 540/ 0.0%
code_info__generate_var_livelvals_5_0 270/ 0.0% 540/ 0.0%
list__remove_dups_2_3_0 270/ 0.0% 540/ 0.0%
typecheck__convert_cons_defn_list_3_0 216/ 0.0% 540/ 0.0%
dead_proc_elim__examine_expr_6_0 278/ 0.0% 518/ 0.0%
llds_common__process_maybe_rvals_4_0 342/ 0.0% 513/ 0.0%
goal_util__name_apart_list_4_0 256/ 0.0% 512/ 0.0%
list__map_3_0 251/ 0.0% 502/ 0.0%
modes__get_live_vars_3_0 250/ 0.0% 500/ 0.0%
varset__delete_var_3_0 166/ 0.0% 498/ 0.0%
prog_io_goal__parse_goal_4_0 218/ 0.0% 493/ 0.0%
call_gen__input_args_2_0 245/ 0.0% 490/ 0.0%
code_exprn__reinit_state_3_0 70/ 0.0% 490/ 0.0%
hlds_data__make_cons_id_4_0 245/ 0.0% 490/ 0.0%
typecheck__typecheck_info_init_9_0 81/ 0.0% 486/ 0.0%
code_info__make_entry_label_7_0 288/ 0.0% 480/ 0.0%
switch_gen__generate_cases_9_0 259/ 0.0% 477/ 0.0%
tree234__remove_smallest_2_5_1 95/ 0.0% 473/ 0.0%
prog_io__parse_list_2_3_0 314/ 0.0% 471/ 0.0%
cse_detection__detect_cse_in_ite_12_0 197/ 0.0% 470/ 0.0%
module_qual__id_set_search_name_arity_4_0 231/ 0.0% 462/ 0.0%
call_gen__insert_arg_livelvals_7_0 184/ 0.0% 460/ 0.0%
code_info__flatten_varlval_list_2_3_0 230/ 0.0% 460/ 0.0%
tree234__set3_4_0 55/ 0.0% 460/ 0.0%
hlds_pred__proc_info_set_liveness_info_3_0 30/ 0.0% 450/ 0.0%
hlds_pred__proc_info_set_stack_slots_3_0 30/ 0.0% 450/ 0.0%
liveness__detect_deadness_in_conj_5_0 224/ 0.0% 448/ 0.0%
liveness__detect_liveness_in_conj_5_0 224/ 0.0% 448/ 0.0%
liveness__detect_resume_points_in_conj_6_0 224/ 0.0% 448/ 0.0%
store_alloc__store_alloc_in_conj_6_0 224/ 0.0% 448/ 0.0%
delay_info__wakeup_goals_3_0 126/ 0.0% 441/ 0.0%
base_type_layout__generate_pseudo_type_info_4_0 180/ 0.0% 440/ 0.0%
code_gen__generate_goals_5_0 220/ 0.0% 440/ 0.0%
tree234__set2_4_0 83/ 0.0% 437/ 0.0%
delay_info__enter_conj_2_0 86/ 0.0% 430/ 0.0%
delay_info__leave_conj_3_0 86/ 0.0% 430/ 0.0%
module_qual__add_mode_defn_3_0 66/ 0.0% 429/ 0.0%
typecheck__typecheck_pred_type_2_7_0 319/ 0.0% 427/ 0.0%
polymorphism__process_goal_list_4_0 211/ 0.0% 422/ 0.0%
mode_info__mode_info_error_4_0 105/ 0.0% 420/ 0.0%
module_qual__qualify_mode_6_0 208/ 0.0% 416/ 0.0%
make_hlds__transform_goal_9_0 203/ 0.0% 406/ 0.0%
prog_io__parse_symlist_decl_6_0 100/ 0.0% 400/ 0.0%
code_info__pickup_zombies_3_0 19/ 0.0% 399/ 0.0%
frameopt__create_parallels_6_0 185/ 0.0% 397/ 0.0%
delay_info__init_1_0 78/ 0.0% 390/ 0.0%
delay_info__bind_var_3_0 77/ 0.0% 385/ 0.0%
unify_gen__generate_unify_args_2_7_0 192/ 0.0% 384/ 0.0%
bimap__set_4_0 191/ 0.0% 382/ 0.0%
dependency_graph__add_proc_arcs_5_0 191/ 0.0% 382/ 0.0%
dependency_graph__add_proc_nodes_5_0 191/ 0.0% 382/ 0.0%
inlining__mark_predproc_8_0 191/ 0.0% 382/ 0.0%
relation__dfs_2_5_0 191/ 0.0% 382/ 0.0%
dead_proc_elim__dead_proc_elim__LambdaGoal__2_8_0 190/ 0.0% 380/ 0.0%
inst_util__make_ground_inst_list_lives_8_0 188/ 0.0% 376/ 0.0%
code_info__build_input_arg_list_2_0 225/ 0.0% 375/ 0.0%
module_qual__module_qualify_item_7_0 143/ 0.0% 371/ 0.0%
tree234__fix_3node_t2_9_1 68/ 0.0% 371/ 0.0%
equiv_type__build_eqv_map_3_0 148/ 0.0% 370/ 0.0%
call_gen__output_arg_locs_2_0 184/ 0.0% 368/ 0.0%
dependency_graph__sets_to_lists_3_0 184/ 0.0% 368/ 0.0%
make_tags__split_constructors_3_0 184/ 0.0% 368/ 0.0%
hlds_out__cons_id_to_string_2_0 180/ 0.0% 360/ 0.0%
dupelim__replace_labels_code_addr_3_0 357/ 0.0% 357/ 0.0%
prog_io__process_maybe1_3_0 350/ 0.0% 350/ 0.0%
code_info__generate_failure_3_0 190/ 0.0% 342/ 0.0%
lexer__get_quoted_name_5_0 170/ 0.0% 340/ 0.0%
hlds_goal__goal_set_resume_point_3_0 52/ 0.0% 338/ 0.0%
instmap__get_reachable_instmaps_2_0 166/ 0.0% 332/ 0.0%
term__var_list_to_term_list_2_0 220/ 0.0% 330/ 0.0%
follow_vars__find_follow_vars_in_cases_6_0 188/ 0.0% 329/ 0.0%
llds_out__output_code_addr_decls_9_0 329/ 0.0% 329/ 0.0%
det_util__interpret_unify_4_0 328/ 0.0% 328/ 0.0%
follow_code__move_follow_code_in_goal_2_5_0 149/ 0.0% 328/ 0.0%
exprn_aux__substitute_lval_in_args_4_0 216/ 0.0% 324/ 0.0%
frameopt__transform_ordinary_block_15_0 127/ 0.0% 321/ 0.0%
make_hlds__convert_type_defn_5_0 156/ 0.0% 320/ 0.0%
unify_proc__generate_compare_cases_7_0 160/ 0.0% 320/ 0.0%
liveness__detect_resume_points_in_cases_6_0 126/ 0.0% 316/ 0.0%
follow_vars__find_follow_vars_in_goal_2_6_0 168/ 0.0% 309/ 0.0%
opt_util__is_proceed_next_2_0 153/ 0.0% 306/ 0.0%
prog_io__dummy_term_1_0 102/ 0.0% 306/ 0.0%
prog_io__process_abstract_type_3_0 204/ 0.0% 306/ 0.0%
getopt__getopt__LambdaGoal__1_2_0 151/ 0.0% 302/ 0.0%
liveness__detect_resume_points_in_goal_2_7_0 136/ 0.0% 302/ 0.0%
switch_detection__detect_switches_in_goal_1_6_0 151/ 0.0% 302/ 0.0%
module_qual__mq_info_set_error_context_3_0 27/ 0.0% 297/ 0.0%
code_info__fixup_lvallist_2_0 177/ 0.0% 295/ 0.0%
instmap__from_assoc_list_2_0 295/ 0.0% 295/ 0.0%
typecheck__typecheck_pred_types_2_10_0 292/ 0.0% 292/ 0.0%
make_hlds__arg_context_to_unify_context_4_0 265/ 0.0% 291/ 0.0%
code_exprn__place_vars_4_0 144/ 0.0% 288/ 0.0%
unify_gen__generate_cons_args_2_5_0 192/ 0.0% 288/ 0.0%
dead_proc_elim__examine_5_0 142/ 0.0% 284/ 0.0%
llds_out__output_c_label_decl_list_5_0 284/ 0.0% 284/ 0.0%
det_analysis__det_infer_goal_2_10_0 142/ 0.0% 283/ 0.0%
prog_io_goal__parse_goal_2_5_0 96/ 0.0% 283/ 0.0%
follow_code__move_follow_code_in_cases_5_0 141/ 0.0% 282/ 0.0%
switch_gen__lookup_tags_5_0 94/ 0.0% 282/ 0.0%
unify_proc__info_set_types_3_0 94/ 0.0% 282/ 0.0%
mode_util__get_arg_insts_4_0 139/ 0.0% 278/ 0.0%
prog_io__process_decl_5_0 197/ 0.0% 276/ 0.0%
clause_to_proc__select_matching_clauses_3_0 136/ 0.0% 272/ 0.0%
hlds_goal__goal_to_disj_list_2_0 136/ 0.0% 272/ 0.0%
code_exprn__clobber_regs_2_5_0 270/ 0.0% 270/ 0.0%
code_gen__generate_semi_epilog_3_0 155/ 0.0% 269/ 0.0%
inst_util__make_ground_bound_inst_list_7_0 132/ 0.0% 264/ 0.0%
make_hlds__module_add_mode_defn_9_0 66/ 0.0% 264/ 0.0%
mode_util__inst_lists_to_mode_list_3_0 132/ 0.0% 264/ 0.0%
mode_util__propagate_ctor_info_3_6_0 110/ 0.0% 264/ 0.0%
prog_io_dcg__parse_dcg_goal_8_0 144/ 0.0% 264/ 0.0%
code_info__generate_resume_setup_4_0 148/ 0.0% 261/ 0.0%
code_info__tweak_stacklist_2_0 153/ 0.0% 255/ 0.0%
parser__parse_list_3_0 102/ 0.0% 255/ 0.0%
simplify__simplify_info_undo_goal_updates_3_0 23/ 0.0% 253/ 0.0%
code_info__get_next_cell_number_3_0 12/ 0.0% 252/ 0.0%
store_alloc__store_alloc_in_goal_2_6_0 111/ 0.0% 252/ 0.0%
liveness__detect_deadness_in_goal_2_6_0 110/ 0.0% 251/ 0.0%
liveness__detect_liveness_in_goal_2_6_0 110/ 0.0% 251/ 0.0%
make_hlds__insert_arg_unifications_2_13_0 251/ 0.0% 251/ 0.0%
prog_io_util__convert_inst_2_0 176/ 0.0% 250/ 0.0%
code_exprn__init_state_2_5_0 249/ 0.0% 249/ 0.0%
opt_util__gather_comments_3_0 122/ 0.0% 244/ 0.0%
list__filter_4_0 120/ 0.0% 240/ 0.0%
polymorphism__construct_type_info_13_0 90/ 0.0% 240/ 0.0%
common__optimise_call_8_0 119/ 0.0% 238/ 0.0%
typecheck__type_assign_var_has_type_list_6_0 119/ 0.0% 238/ 0.0%
typecheck__typecheck_var_has_arg_type_list_5_0 18/ 0.0% 234/ 0.0%
code_info__place_var_5_0 11/ 0.0% 231/ 0.0%
make_hlds__module_add_clause_13_0 112/ 0.0% 224/ 0.0%
relation__add_4_0 56/ 0.0% 224/ 0.0%
prog_io_dcg__parse_dcg_goal_2_10_0 115/ 0.0% 223/ 0.0%
switch_detection__detect_switches_in_goal_2_6_0 126/ 0.0% 221/ 0.0%
io__insert_stream_name_4_0 44/ 0.0% 220/ 0.0%
prog_io_dcg__parse_dcg_clause_6_0 120/ 0.0% 220/ 0.0%
unify_gen__generate_tag_rval_2_3_0 124/ 0.0% 218/ 0.0%
code_info__make_known_failure_cont_6_0 130/ 0.0% 216/ 0.0%
hlds_module__predicate_table_search_func_name_arity_4_0 108/ 0.0% 216/ 0.0%
opt_util__is_sdproceed_next_sf_3_0 108/ 0.0% 216/ 0.0%
code_util__neg_rval_2_0 76/ 0.0% 212/ 0.0%
graph_colour__next_colour_4_0 106/ 0.0% 212/ 0.0%
code_exprn__init_state_6_0 30/ 0.0% 210/ 0.0%
dependency_graph__add_arcs_in_goal_2_4_0 104/ 0.0% 208/ 0.0%
module_qual__qualify_type_and_mode_6_0 104/ 0.0% 208/ 0.0%
module_qual__qualify_types_and_modes_6_0 104/ 0.0% 208/ 0.0%
opt_util__filter_out_labels_2_0 104/ 0.0% 208/ 0.0%
tag_switch__generate_primary_jump_table_13_0 112/ 0.0% 208/ 0.0%
unify_gen__generate_semi_deconstruction_7_0 112/ 0.0% 208/ 0.0%
code_gen__generate_semi_prolog_4_0 113/ 0.0% 201/ 0.0%
inst_util__abstractly_unify_inst_list_lives_7_0 100/ 0.0% 200/ 0.0%
modes__modecheck_disj_list_5_0 98/ 0.0% 196/ 0.0%
switch_detection__fix_case_list_3_0 98/ 0.0% 196/ 0.0%
tree234__fix_4node_t0_12_1 28/ 0.0% 196/ 0.0%
unify_gen__generate_construction_2_7_0 112/ 0.0% 196/ 0.0%
io__stream_name_4_0 39/ 0.0% 195/ 0.0%
module_qual__do_module_qualify_items_6_0 96/ 0.0% 192/ 0.0%
cse_detection__detect_cse_in_cases_2_6_0 94/ 0.0% 188/ 0.0%
det_analysis__det_infer_switch_9_0 94/ 0.0% 188/ 0.0%
inlining__inlining_in_cases_4_0 94/ 0.0% 188/ 0.0%
liveness__detect_deadness_in_cases_8_0 94/ 0.0% 188/ 0.0%
liveness__detect_liveness_in_cases_7_0 94/ 0.0% 188/ 0.0%
polymorphism__process_case_list_4_0 94/ 0.0% 188/ 0.0%
store_alloc__store_alloc_in_cases_6_0 94/ 0.0% 188/ 0.0%
switch_detection__detect_switches_in_cases_5_0 94/ 0.0% 188/ 0.0%
follow_vars__find_follow_vars_in_goal_6_0 93/ 0.0% 186/ 0.0%
make_tags__assign_enum_constants_4_0 122/ 0.0% 183/ 0.0%
tag_switch__generate_primary_tag_code_12_0 104/ 0.0% 182/ 0.0%
base_type_info__construct_base_type_infos_3_0 108/ 0.0% 180/ 0.0%
code_exprn__construct_cell_9_0 96/ 0.0% 180/ 0.0%
graph_colour__group_elements_2_0 90/ 0.0% 180/ 0.0%
llds_common__process_procs_4_0 60/ 0.0% 180/ 0.0%
prog_io_util__convert_inst_list_2_0 88/ 0.0% 176/ 0.0%
liveness__add_deadness_before_goal_3_0 87/ 0.0% 174/ 0.0%
liveness__add_liveness_after_goal_3_0 87/ 0.0% 174/ 0.0%
inst_util__abstractly_unify_bound_inst_list_lives_8_0 84/ 0.0% 168/ 0.0%
inst_util__maybe_make_shared_inst_list_5_0 84/ 0.0% 168/ 0.0%
tag_switch__generate_secondary_try_me_else_chain_10_0 94/ 0.0% 168/ 0.0%
graph_colour__find_all_colours_3_0 82/ 0.0% 164/ 0.0%
prog_io__parse_module_specifier_2_0 157/ 0.0% 157/ 0.0%
det_analysis__fold_pred_modes_4_0 78/ 0.0% 156/ 0.0%
delay_info__add_pending_goals_6_0 77/ 0.0% 154/ 0.0%
frameopt__rev_map_side_labels_4_0 77/ 0.0% 154/ 0.0%
module_qual__mq_info_set_module_used_3_0 14/ 0.0% 154/ 0.0%
frameopt__detstack_setup_6_0 76/ 0.0% 152/ 0.0%
code_info__manufacture_failure_cont_3_0 90/ 0.0% 150/ 0.0%
unify_gen__var_type_msg_2_0 72/ 0.0% 144/ 0.0%
modules__process_module_short_interfaces_6_0 40/ 0.0% 140/ 0.0%
frameopt__detstack_teardown_8_0 68/ 0.0% 136/ 0.0%
frameopt__process_frame_delay_13_0 59/ 0.0% 136/ 0.0%
hlds_module__predicate_table_search_pred_name_arity_4_0 68/ 0.0% 136/ 0.0%
inst_util__abstractly_unify_bound_inst_list_8_0 68/ 0.0% 136/ 0.0%
tree234__split_four_5_0 34/ 0.0% 136/ 0.0%
inst_util__abstractly_unify_inst_list_8_0 67/ 0.0% 134/ 0.0%
hlds_data__mode_table_insert_4_0 66/ 0.0% 132/ 0.0%
switch_detection__partition_disj_trial_6_0 65/ 0.0% 130/ 0.0%
opt_util__filter_out_livevals_2_0 64/ 0.0% 128/ 0.0%
base_type_layout__encode_mkword_4_0 72/ 0.0% 126/ 0.0%
modes__modecheck_var_has_inst_list_5_0 42/ 0.0% 126/ 0.0%
modules__process_module_interfaces_6_0 36/ 0.0% 126/ 0.0%
unify_gen__generate_sub_assign_5_0 125/ 0.0% 125/ 0.0%
code_info__restore_failure_cont_3_0 62/ 0.0% 124/ 0.0%
base_type_layout__construct_base_type_data_3_0 28/ 0.0% 120/ 0.0%
code_gen__generate_category_code_6_0 60/ 0.0% 120/ 0.0%
code_gen__generate_proc_code_11_0 30/ 0.0% 120/ 0.0%
exprn_aux__init_exprn_opts_2_0 30/ 0.0% 120/ 0.0%
list__chunk_2_5_0 60/ 0.0% 120/ 0.0%
liveness__detect_liveness_proc_3_0 30/ 0.0% 120/ 0.0%
mercury_compile__combine_chunks_2_4_0 60/ 0.0% 120/ 0.0%
optimize__proc_4_0 30/ 0.0% 120/ 0.0%
prog_io__process_func_6_0 30/ 0.0% 120/ 0.0%
simplify__disj_7_0 24/ 0.0% 120/ 0.0%
inst_util__bound_inst_list_merge_5_0 59/ 0.0% 118/ 0.0%
tree234__fix_4node_t2_12_1 19/ 0.0% 118/ 0.0%
cse_detection__detect_cse_in_proc_6_0 39/ 0.0% 117/ 0.0%
module_qual__add_inst_defn_3_0 18/ 0.0% 117/ 0.0%
frameopt__keep_frame_6_0 49/ 0.0% 112/ 0.0%
make_hlds__module_add_pred_clause_12_0 56/ 0.0% 112/ 0.0%
hlds_goal__goal_info_init_4_0 10/ 0.0% 110/ 0.0%
module_qual__mq_info_set_need_qual_flag_3_0 10/ 0.0% 110/ 0.0%
code_util__make_entry_label_5_0 108/ 0.0% 108/ 0.0%
inlining__should_inline_proc_5_0 54/ 0.0% 108/ 0.0%
cse_detection__detect_cse_in_goal_2_7_0 107/ 0.0% 107/ 0.0%
clause_to_proc__copy_clauses_to_proc_4_0 52/ 0.0% 104/ 0.0%
inst_util__abstractly_unify_inst_3_8_0 51/ 0.0% 102/ 0.0%
make_tags__assign_complicated_constant_tags_5_0 40/ 0.0% 100/ 0.0%
make_tags__assign_complicated_tags_5_0 40/ 0.0% 100/ 0.0%
prog_io__prog_io__LambdaGoal__1_6_0 50/ 0.0% 100/ 0.0%
prog_io__make_mode_defn_4_0 33/ 0.0% 99/ 0.0%
typecheck__typecheck_info_get_ctor_list_2_4_0 44/ 0.0% 99/ 0.0%
tree234__fix_4node_t1_12_1 14/ 0.0% 98/ 0.0%
dupelim__replace_labels_label_list_3_0 48/ 0.0% 96/ 0.0%
inst_util__inst_merge_3_5_0 48/ 0.0% 96/ 0.0%
jumpopt__short_labels_4_0 48/ 0.0% 96/ 0.0%
mode_util__fixup_switch_var_5_0 47/ 0.0% 94/ 0.0%
prog_io__parse_type_decl_func_4_0 15/ 0.0% 90/ 0.0%
store_alloc__store_alloc_in_proc_3_0 60/ 0.0% 90/ 0.0%
hlds_module__predicate_table_search_func_m_n_a_5_0 44/ 0.0% 88/ 0.0%
llds_common__cell_pairs_to_modules_3_0 33/ 0.0% 88/ 0.0%
list__append_3_4 43/ 0.0% 86/ 0.0%
instmap__instmap_delta_apply_instmap_delta_3_0 85/ 0.0% 85/ 0.0%
code_gen__generate_negation_general_7_0 42/ 0.0% 84/ 0.0%
code_info__acquire_reg_4_0 4/ 0.0% 84/ 0.0%
code_info__release_reg_3_0 4/ 0.0% 84/ 0.0%
jumpopt__final_dest_2_6_0 42/ 0.0% 84/ 0.0%
typecheck__typecheck_var_has_arg_type_2_5_0 36/ 0.0% 84/ 0.0%
live_vars__allocate_stack_slots_2_5_0 82/ 0.0% 82/ 0.0%
make_hlds__module_add_inst_defn_9_0 27/ 0.0% 81/ 0.0%
frameopt__pick_last_3_0 40/ 0.0% 80/ 0.0%
det_analysis__segregate_procs_2_6_0 39/ 0.0% 78/ 0.0%
polymorphism__get_special_proc_6_0 42/ 0.0% 78/ 0.0%
llds_out__output_rval_decls_9_0 77/ 0.0% 77/ 0.0%
module_qual__qualify_type_defn_7_0 20/ 0.0% 76/ 0.0%
base_type_info__gen_proc_list_4_0 36/ 0.0% 72/ 0.0%
code_exprn__produce_vars_5_0 36/ 0.0% 72/ 0.0%
frameopt__propagate_framed_labels_5_0 36/ 0.0% 72/ 0.0%
goal_util__name_apart_cases_4_0 36/ 0.0% 72/ 0.0%
tag_switch__generate_9_0 38/ 0.0% 72/ 0.0%
instmap__merge_5_0 70/ 0.0% 70/ 0.0%
opt_util__filter_out_r1_3_0 40/ 0.0% 70/ 0.0%
tree234__fix_4node_t3_12_1 10/ 0.0% 70/ 0.0%
llds_out__output_c_module_6_0 46/ 0.0% 69/ 0.0%
hlds_data__cons_id_and_args_to_term_3_0 34/ 0.0% 68/ 0.0%
prog_io_util__convert_bound_inst_2_0 34/ 0.0% 68/ 0.0%
base_type_layout__gather_tags_3_0 32/ 0.0% 64/ 0.0%
exprn_aux__rval_addrs_3_0 32/ 0.0% 64/ 0.0%
tag_switch__order_ptags_by_value_4_0 32/ 0.0% 64/ 0.0%
follow_code__move_follow_code_in_proc_4_0 31/ 0.0% 62/ 0.0%
base_type_info__construct_pred_addrs2_3_0 48/ 0.0% 60/ 0.0%
code_gen__generate_proc_list_code_12_0 30/ 0.0% 60/ 0.0%
cse_detection__detect_cse_in_cases_11_0 15/ 0.0% 60/ 0.0%
frameopt__mark_parallels_for_teardown_9_0 30/ 0.0% 60/ 0.0%
frameopt__substitute_labels_3_0 30/ 0.0% 60/ 0.0%
hlds_data__inst_table_set_user_insts_3_0 10/ 0.0% 60/ 0.0%
llds_out__output_c_procedure_list_5_0 30/ 0.0% 60/ 0.0%
optimize__main_4_0 30/ 0.0% 60/ 0.0%
switch_detection__cases_to_switch_8_0 15/ 0.0% 60/ 0.0%
unify_gen__generate_det_deconstruction_7_0 59/ 0.0% 59/ 0.0%
module_qual__qualify_type_list_6_0 29/ 0.0% 58/ 0.0%
switch_gen__generate_all_cases_9_0 29/ 0.0% 58/ 0.0%
assoc_list__reverse_members_2_0 28/ 0.0% 56/ 0.0%
code_exprn__acquire_reg_4_0 8/ 0.0% 56/ 0.0%
code_exprn__release_reg_3_0 8/ 0.0% 56/ 0.0%
hlds_pred__pred_info_set_marker_list_3_0 4/ 0.0% 56/ 0.0%
llds_common__process_modules_4_0 16/ 0.0% 56/ 0.0%
base_type_layout__simple_vector_4_0 36/ 0.0% 52/ 0.0%
store_alloc__next_free_reg_3_0 26/ 0.0% 52/ 0.0%
follow_code__move_follow_code_in_goal_5_0 25/ 0.0% 50/ 0.0%
mode_util__propagate_types_into_inst_list_5_0 25/ 0.0% 50/ 0.0%
modules__write_dependency_file_6_0 25/ 0.0% 50/ 0.0%
polymorphism__process_call_8_0 10/ 0.0% 50/ 0.0%
prog_io__make_import_2_0 50/ 0.0% 50/ 0.0%
prog_io__make_module_2_0 50/ 0.0% 50/ 0.0%
dead_proc_elim__examine_refs_5_0 24/ 0.0% 48/ 0.0%
globals__io_set_option_4_0 8/ 0.0% 48/ 0.0%
list__merge_4_0 24/ 0.0% 48/ 0.0%
instmap__instmap_delta_set_4_0 47/ 0.0% 47/ 0.0%
code_util__choose_local_label_type_7_0 46/ 0.0% 46/ 0.0%
io__set_globals_3_0 9/ 0.0% 45/ 0.0%
code_util__cons_id_to_tag_4_0 23/ 0.0% 43/ 0.0%
code_info__produce_variable_in_reg_5_0 2/ 0.0% 42/ 0.0%
code_util__make_local_entry_label_5_0 42/ 0.0% 42/ 0.0%
hlds_module__module_info_set_base_gen_infos_3_0 4/ 0.0% 42/ 0.0%
make_hlds__qual_info_set_mq_info_3_0 6/ 0.0% 42/ 0.0%
typecheck__rename_apart_5_0 18/ 0.0% 42/ 0.0%
disj_gen__generate_pruned_disjuncts_10_0 22/ 0.0% 41/ 0.0%
type_util__classify_type_3_0 41/ 0.0% 41/ 0.0%
base_type_layout__generate_pseudo_type_infos_4_0 20/ 0.0% 40/ 0.0%
make_hlds__add_new_pred_12_0 12/ 0.0% 40/ 0.0%
store_alloc__store_alloc_allocate_extras_5_0 20/ 0.0% 40/ 0.0%
tag_switch__cons_list_to_tag_list_2_0 20/ 0.0% 40/ 0.0%
tag_switch__group_cases_by_ptag_3_0 20/ 0.0% 40/ 0.0%
tree234__set_4_0 10/ 0.0% 40/ 0.0%
io__open_input_4_0 39/ 0.0% 39/ 0.0%
base_type_layout__functors_enum_4_0 16/ 0.0% 38/ 0.0%
frameopt__main_4_0 19/ 0.0% 38/ 0.0%
base_type_info__gen_base_gen_infos_5_0 8/ 0.0% 36/ 0.0%
base_type_layout__base_type_layout__LambdaGoal__4_3_0 12/ 0.0% 36/ 0.0%
hlds_data__user_inst_table_insert_4_0 18/ 0.0% 36/ 0.0%
map__merge_3_0 12/ 0.0% 36/ 0.0%
prog_io__convert_inst_defn_4_0 18/ 0.0% 36/ 0.0%
prog_io__parse_inst_decl_4_0 9/ 0.0% 36/ 0.0%
prog_io_util__convert_bound_inst_list_2_0 17/ 0.0% 34/ 0.0%
unify_gen__generate_assignment_5_0 34/ 0.0% 34/ 0.0%
module_qual__mq_info_set_import_status_3_0 3/ 0.0% 33/ 0.0%
module_qual__process_module_defn_3_0 3/ 0.0% 33/ 0.0%
base_type_layout__add_cmodule_3_0 8/ 0.0% 32/ 0.0%
base_type_layout__encode_create_6_0 12/ 0.0% 32/ 0.0%
base_type_layout__gen_base_gen_layouts_5_0 8/ 0.0% 32/ 0.0%
code_info__fail_if_rval_is_false_4_0 16/ 0.0% 32/ 0.0%
mode_info__mode_info_set_var_types_3_0 2/ 0.0% 32/ 0.0%
mode_info__mode_info_set_varset_3_0 2/ 0.0% 32/ 0.0%
module_qual__qualify_constructor_arg_list_6_0 16/ 0.0% 32/ 0.0%
prog_util__split_types_and_modes_3_0 32/ 0.0% 32/ 0.0%
base_type_layout__base_type_layout__LambdaGoal__1_2_0 30/ 0.0% 30/ 0.0%
code_exprn__produce_var_in_reg_or_stack_5_0 30/ 0.0% 30/ 0.0%
instmap__instmap_delta_init_reachable_1_0 30/ 0.0% 30/ 0.0%
make_hlds__module_add_func_12_0 15/ 0.0% 30/ 0.0%
getopt__process_option_7_0 28/ 0.0% 29/ 0.0%
base_type_layout__generate_rvals_5_0 28/ 0.0% 28/ 0.0%
base_type_layout__layout_enum_vector_2_0 20/ 0.0% 28/ 0.0%
hlds_module__module_info_reverse_predids_2_0 2/ 0.0% 28/ 0.0%
module_qual__qualify_constructors_6_0 14/ 0.0% 28/ 0.0%
prog_util__rename_in_goal_expr_4_0 14/ 0.0% 28/ 0.0%
term__context_init_3_0 14/ 0.0% 28/ 0.0%
unify_gen__generate_test_5_0 12/ 0.0% 28/ 0.0%
prog_io__make_inst_defn_4_0 9/ 0.0% 27/ 0.0%
getopt__handle_short_options_6_0 15/ 0.0% 25/ 0.0%
prog_io_dcg__parse_dcg_if_then_else_11_0 10/ 0.0% 25/ 0.0%
base_type_layout__functors_du_4_0 18/ 0.0% 24/ 0.0%
cse_detection__construct_common_unify_8_0 6/ 0.0% 24/ 0.0%
dead_proc_elim__initialize_base_gen_infos_5_0 8/ 0.0% 24/ 0.0%
modules__grab_imported_modules_7_0 9/ 0.0% 24/ 0.0%
code_exprn__place_cached_6_0 23/ 0.0% 23/ 0.0%
code_info__place_resume_var_5_0 11/ 0.0% 22/ 0.0%
code_info__place_resume_vars_4_0 11/ 0.0% 22/ 0.0%
list__hosort_5_0 11/ 0.0% 22/ 0.0%
mercury_compile__simplify_8_0 6/ 0.0% 22/ 0.0%
module_qual__add_interface_imports_3_0 2/ 0.0% 22/ 0.0%
module_qual__update_import_status_4_0 2/ 0.0% 22/ 0.0%
modules__process_module_short_interfaces_5_0 8/ 0.0% 22/ 0.0%
string__char_list_to_int_list_2_0 11/ 0.0% 22/ 0.0%
unique_modes__select_live_vars_3_0 11/ 0.0% 22/ 0.0%
hlds_module__module_info_set_base_gen_layouts_3_0 2/ 0.0% 21/ 0.0%
dead_proc_elim__eliminate_base_gen_infos_3_0 8/ 0.0% 20/ 0.0%
handle_options__handle_options_5_0 10/ 0.0% 20/ 0.0%
hlds_module__module_info_set_dependency_info_3_0 2/ 0.0% 20/ 0.0%
inst_util__inst_list_merge_5_0 10/ 0.0% 20/ 0.0%
make_hlds__add_item_decl_pass_1_8_0 10/ 0.0% 20/ 0.0%
polymorphism__make_vars_10_0 10/ 0.0% 20/ 0.0%
hlds_module__module_info_init_3_0 1/ 0.0% 19/ 0.0%
hlds_module__module_info_optimize_2_0 1/ 0.0% 19/ 0.0%
hlds_module__module_info_set_num_errors_3_0 1/ 0.0% 19/ 0.0%
frameopt__analyze_block_map_4_0 12/ 0.0% 18/ 0.0%
frameopt__mark_parallel_7_0 9/ 0.0% 18/ 0.0%
mode_util__inst_lookup_2_3_0 9/ 0.0% 18/ 0.0%
io__see_4_0 17/ 0.0% 17/ 0.0%
frameopt__detstack_setup_2_6_0 8/ 0.0% 16/ 0.0%
lexer__finish_quoted_name_3_0 16/ 0.0% 16/ 0.0%
mercury_compile__chunk_llds_8_0 8/ 0.0% 16/ 0.0%
mode_util__alt_list_apply_substitution_3_0 8/ 0.0% 16/ 0.0%
mode_util__recompute_instmap_delta_conj_7_0 8/ 0.0% 16/ 0.0%
typecheck__make_pred_cons_info_list_7_0 6/ 0.0% 16/ 0.0%
make_hlds__get_disj_10_0 7/ 0.0% 14/ 0.0%
module_qual__module_qualify_items_10_0 2/ 0.0% 13/ 0.0%
base_type_layout__handle_simple_4_0 2/ 0.0% 12/ 0.0%
base_type_layout__layout_enum_4_0 2/ 0.0% 12/ 0.0%
code_exprn__expr_is_constant_4_0 6/ 0.0% 12/ 0.0%
code_gen__generate_negation_5_0 6/ 0.0% 12/ 0.0%
code_util__translate_builtin_2_6_0 8/ 0.0% 12/ 0.0%
exprn_aux__substitute_vars_in_rval_3_0 12/ 0.0% 12/ 0.0%
hlds_goal__disj_list_to_goal_3_0 6/ 0.0% 12/ 0.0%
inst_util__make_mostly_uniq_inst_4_0 6/ 0.0% 12/ 0.0%
instmap__instmap_delta_from_assoc_list_2_0 12/ 0.0% 12/ 0.0%
mode_util__inst_list_apply_substitution_3_0 6/ 0.0% 12/ 0.0%
opt_util__no_stackvars_til_decr_sp_4_0 6/ 0.0% 12/ 0.0%
prog_io_pragma__parse_simple_pragma_6_0 8/ 0.0% 12/ 0.0%
prog_io_pragma__prog_io_pragma__LambdaGoal__4_3_0 4/ 0.0% 12/ 0.0%
relation__init_1_0 4/ 0.0% 12/ 0.0%
tag_switch__get_ptag_counts_2_5_0 6/ 0.0% 12/ 0.0%
term__substitute_4_0 4/ 0.0% 12/ 0.0%
term__substitute_list_4_0 6/ 0.0% 12/ 0.0%
typecheck__convert_args_type_assign_set_2_0 6/ 0.0% 12/ 0.0%
hlds_data__make_functor_cons_id_3_0 11/ 0.0% 11/ 0.0%
mode_util__inst_apply_substitution_3_0 9/ 0.0% 11/ 0.0%
mode_util__recompute_instmap_delta_2_8_0 5/ 0.0% 11/ 0.0%
follow_code__conjoin_goal_and_goal_list_3_0 6/ 0.0% 10/ 0.0%
follow_vars__find_follow_vars_in_disj_6_0 6/ 0.0% 10/ 0.0%
getopt__handle_long_option_9_0 10/ 0.0% 10/ 0.0%
mode_util__recompute_instmap_delta_7_0 5/ 0.0% 10/ 0.0%
prog_io_util__parse_bound_inst_list_3_0 5/ 0.0% 10/ 0.0%
hlds_module__predicate_table_init_1_0 1/ 0.0% 9/ 0.0%
hlds_module__predicate_table_optimize_2_0 1/ 0.0% 9/ 0.0%
options__opt_level_3_0 5/ 0.0% 9/ 0.0%
base_type_layout__remove_creates_2_0 4/ 0.0% 8/ 0.0%
clause_to_proc__maybe_add_default_mode_2_0 8/ 0.0% 8/ 0.0%
code_info__find_unused_reg_3_0 4/ 0.0% 8/ 0.0%
code_info__make_vars_forward_live_2_5_0 4/ 0.0% 8/ 0.0%
follow_code__move_follow_code_in_disj_5_0 4/ 0.0% 8/ 0.0%
hlds_data__inst_table_init_1_0 2/ 0.0% 8/ 0.0%
inst_util__make_shared_inst_4_0 4/ 0.0% 8/ 0.0%
llds_out__output_single_c_file_4_0 4/ 0.0% 8/ 0.0%
make_hlds__pragma_add_markers_2_3_0 4/ 0.0% 8/ 0.0%
modes__handle_extra_goals_contexts_3_0 4/ 0.0% 8/ 0.0%
quantification__rename_apart_6_0 1/ 0.0% 8/ 0.0%
unique_modes__check_disj_5_0 4/ 0.0% 8/ 0.0%
make_hlds__append_arg_unifications_2_13_0 7/ 0.0% 7/ 0.0%
make_hlds__parse_tree_to_hlds_8_0 1/ 0.0% 7/ 0.0%
base_type_layout__generate_llds_2_0 1/ 0.0% 6/ 0.0%
cse_detection__create_parallel_subterms_9_0 4/ 0.0% 6/ 0.0%
getopt__process_options_4_0 2/ 0.0% 6/ 0.0%
globals__io_init_8_0 1/ 0.0% 6/ 0.0%
hlds_module__hlds_dependency_info_init_1_0 1/ 0.0% 6/ 0.0%
hlds_module__hlds_dependency_info_set_dependency_graph_3_0 1/ 0.0% 6/ 0.0%
hlds_module__hlds_dependency_info_set_dependency_ordering_3_0 1/ 0.0% 6/ 0.0%
jumpopt__build_maps_15_0 6/ 0.0% 6/ 0.0%
liveness__detect_resume_points_in_non_last_disjunct_10_0 2/ 0.0% 6/ 0.0%
prog_io_dcg__append_to_disjunct_4_0 3/ 0.0% 6/ 0.0%
relation__atsort_2_0 2/ 0.0% 6/ 0.0%
handle_options__set_bool_opt_4_0 5/ 0.0% 5/ 0.0%
inlining__inlining_4_0 1/ 0.0% 5/ 0.0%
instmap__instmap_delta_restrict_3_0 5/ 0.0% 5/ 0.0%
io__init_state_2_0 1/ 0.0% 5/ 0.0%
modes__handle_extra_goals_8_0 3/ 0.0% 5/ 0.0%
base_type_layout__get_tags_4_0 2/ 0.0% 4/ 0.0%
cse_detection__detect_cse_in_disj_2_6_0 2/ 0.0% 4/ 0.0%
dead_proc_elim__initialize_procs_6_0 2/ 0.0% 4/ 0.0%
det_analysis__det_infer_disj_9_0 2/ 0.0% 4/ 0.0%
inlining__inlining_in_disj_4_0 2/ 0.0% 4/ 0.0%
lexer__rev_char_list_to_int_3_0 4/ 0.0% 4/ 0.0%
liveness__detect_deadness_in_disj_7_0 2/ 0.0% 4/ 0.0%
liveness__detect_liveness_in_disj_7_0 2/ 0.0% 4/ 0.0%
liveness__detect_resume_points_in_pruned_disj_7_0 2/ 0.0% 4/ 0.0%
mode_util__inst_name_apply_substitution_3_0 2/ 0.0% 4/ 0.0%
mode_util__recompute_instmap_delta_disj_8_0 2/ 0.0% 4/ 0.0%
prog_util__rename_in_goal_4_0 2/ 0.0% 4/ 0.0%
store_alloc__store_alloc_in_disj_6_0 2/ 0.0% 4/ 0.0%
switch_detection__detect_sub_switches_in_disj_5_0 2/ 0.0% 4/ 0.0%
code_exprn__args_are_constant_4_0 3/ 0.0% 3/ 0.0%
dead_proc_elim__eliminate_5_0 1/ 0.0% 3/ 0.0%
getopt__process_arguments_5_0 2/ 0.0% 3/ 0.0%
llds_common__llds_common_6_0 1/ 0.0% 3/ 0.0%
continuation_info__init_1_0 1/ 0.0% 2/ 0.0%
cse_detection__detect_cse_in_disj_9_0 1/ 0.0% 2/ 0.0%
disj_gen__generate_pruned_disj_5_0 1/ 0.0% 2/ 0.0%
follow_code__move_follow_code_select_3_0 1/ 0.0% 2/ 0.0%
handle_options__postprocess_options_2_8_0 2/ 0.0% 2/ 0.0%
hlds_data__mode_table_init_1_0 1/ 0.0% 2/ 0.0%
hlds_data__mode_table_optimize_2_0 1/ 0.0% 2/ 0.0%
hlds_data__user_inst_table_optimize_2_0 1/ 0.0% 2/ 0.0%
instmap__merge_instmap_delta_7_0 2/ 0.0% 2/ 0.0%
io__open_output_4_0 2/ 0.0% 2/ 0.0%
lexer__get_quoted_name_escape_5_0 1/ 0.0% 2/ 0.0%
mercury_compile__make_hlds_12_0 1/ 0.0% 2/ 0.0%
mercury_compile__strip_module_suffixes_2_0 1/ 0.0% 2/ 0.0%
mode_util__mode_apply_substitution_3_0 1/ 0.0% 2/ 0.0%
switch_detection__detect_switches_in_disj_10_0 1/ 0.0% 2/ 0.0%
unify_proc__init_requests_1_0 1/ 0.0% 2/ 0.0%
options__special_handler_4_0 1/ 0.0% 1/ 0.0%
Memory profile by type
procedure label Cells Words
list:list/1 1116254/44.8% 2232508/28.9%
tree234:tree234/2 257948/10.4% 1372274/17.8%
parser:state/0 148435/ 6.0% 742175/ 9.6%
mode_info:mode_info/0 21427/ 0.9% 342832/ 4.4%
std_util:pair/2 159216/ 6.4% 318432/ 4.1%
hlds_goal:hlds_goal_info/0 26169/ 1.1% 287859/ 3.7%
hlds_pred:proc_info/0 15440/ 0.6% 231600/ 3.0%
quantification:quant_info/0 27448/ 1.1% 219584/ 2.8%
io:result/1 217934/ 8.7% 217934/ 2.8%
hlds_module:module_info/0 10830/ 0.4% 205770/ 2.7%
hlds_pred:pred_info/0 14355/ 0.6% 200970/ 2.6%
term:term/0 63000/ 2.5% 182384/ 2.4%
code_info:code_info/0 7508/ 0.3% 157668/ 2.0%
varset:varset/0 31937/ 1.3% 95811/ 1.2%
hlds_module:predicate_table/0 9145/ 0.4% 82305/ 1.1%
simplify:simplify_info/0 7446/ 0.3% 81906/ 1.1%
term:context/0 27765/ 1.1% 55530/ 0.7%
hlds_goal:hlds_goal_expr/0 15052/ 0.6% 55131/ 0.7%
parser:parse/1 50263/ 2.0% 50263/ 0.7%
typecheck:typecheck_info/0 3270/ 0.1% 42510/ 0.6%
code_exprn:exprn_info/0 5598/ 0.2% 39186/ 0.5%
term:const/0 38215/ 1.5% 38215/ 0.5%
prog_io_util:maybe2/2 17620/ 0.7% 35240/ 0.5%
prog_data:sym_name/0 17983/ 0.7% 32746/ 0.4%
io:state/0 6484/ 0.3% 32420/ 0.4%
lexer:token/0 28352/ 1.1% 28352/ 0.4%
prog_data:mode/0 11370/ 0.5% 22740/ 0.3%
prog_data:inst_name/0 5423/ 0.2% 19746/ 0.3%
set_bbbtree:set_bbbtree/1 4820/ 0.2% 19280/ 0.2%
inst:inst/0 9539/ 0.4% 18960/ 0.2%
closure 3873/ 0.2% 18440/ 0.2%
prog_data:item/0 2798/ 0.1% 14788/ 0.2%
unify_proc:unify_proc_info/0 4418/ 0.2% 13254/ 0.2%
mercury_builtin:type_info/1 6396/ 0.3% 12805/ 0.2%
llds:instr/0 4920/ 0.2% 10831/ 0.1%
hlds_pred:clauses_info/0 2025/ 0.1% 10125/ 0.1%
tree:tree/1 5693/ 0.2% 10055/ 0.1%
instmap:instmap/0 9409/ 0.4% 9409/ 0.1%
llds:rval/0 7750/ 0.3% 9097/ 0.1%
llds:lval/0 3436/ 0.1% 8605/ 0.1%
hlds_pred:arg_info/0 3979/ 0.2% 7958/ 0.1%
polymorphism:poly_info/0 1537/ 0.1% 7685/ 0.1%
std_util:maybe/1 7393/ 0.3% 7393/ 0.1%
hlds_goal:unification/0 1640/ 0.1% 5581/ 0.1%
hlds_goal:unify_rhs/0 3485/ 0.1% 5309/ 0.1%
common:common_info/0 1244/ 0.0% 4976/ 0.1%
hlds_goal:unify_context/0 2428/ 0.1% 4856/ 0.1%
prog_data:type_and_mode/0 4302/ 0.2% 4614/ 0.1%
code_exprn:var_stat/0 4418/ 0.2% 4418/ 0.1%
mode_info:mode_context/0 2126/ 0.1% 4252/ 0.1%
module_qual:mq_info/0 366/ 0.0% 4026/ 0.1%
prog_io:maybe_item_or_eof/0 1906/ 0.1% 3812/ 0.0%
term_io:read_term/0 1906/ 0.1% 3812/ 0.0%
typecheck:type_assign/0 1197/ 0.0% 3591/ 0.0%
hlds_data:cons_id/0 1752/ 0.1% 3319/ 0.0%
hlds_module:name_arity/0 1648/ 0.1% 3296/ 0.0%
prog_io_util:maybe1/1 3268/ 0.1% 3268/ 0.0%
hlds_data:inst_table/0 476/ 0.0% 2856/ 0.0%
frameopt:block_info/0 548/ 0.0% 2740/ 0.0%
llds:proc_label/0 419/ 0.0% 2514/ 0.0%
eqvclass:eqvclass/1 832/ 0.0% 2496/ 0.0%
hlds_pred:clause/0 826/ 0.0% 2478/ 0.0%
delay_info:delay_info/0 453/ 0.0% 2265/ 0.0%
inst:bound_inst/0 913/ 0.0% 1826/ 0.0%
det_util:det_info/0 296/ 0.0% 1776/ 0.0%
hlds_pred:pred_proc_id/0 829/ 0.0% 1658/ 0.0%
hlds_goal:case/0 819/ 0.0% 1638/ 0.0%
inlining:inline_info/0 203/ 0.0% 1624/ 0.0%
llds:liveinfo/0 458/ 0.0% 1374/ 0.0%
dead_proc_elim:entity/0 639/ 0.0% 1310/ 0.0%
bintree:bintree/2 323/ 0.0% 1292/ 0.0%
hlds_data:hlds_type_defn/0 258/ 0.0% 1290/ 0.0%
hlds_goal:uni_mode/0 576/ 0.0% 1152/ 0.0%
prog_data:type_defn/0 418/ 0.0% 1152/ 0.0%
relation:relation/1 250/ 0.0% 1000/ 0.0%
simplify:simplify/0 140/ 0.0% 980/ 0.0%
mode_info:call_context/0 953/ 0.0% 953/ 0.0%
llds:code_addr/0 932/ 0.0% 932/ 0.0%
llds:label/0 505/ 0.0% 922/ 0.0%
string:poly_type/0 801/ 0.0% 801/ 0.0%
hlds_data:hlds_cons_defn/0 245/ 0.0% 735/ 0.0%
prog_data:goal_expr/0 239/ 0.0% 668/ 0.0%
inst:pred_inst_info/0 220/ 0.0% 660/ 0.0%
dead_proc_elim:elim_info/0 191/ 0.0% 573/ 0.0%
llds_out:decl_id/0 571/ 0.0% 571/ 0.0%
common:structure/0 138/ 0.0% 552/ 0.0%
hlds_pred:pred_call_id/0 274/ 0.0% 548/ 0.0%
hlds_data:cons_tag/0 268/ 0.0% 512/ 0.0%
simplify:branch_info/0 152/ 0.0% 456/ 0.0%
llds:rval_const/0 455/ 0.0% 455/ 0.0%
mode_errors:mode_error/0 105/ 0.0% 447/ 0.0%
make_hlds:qual_info/0 63/ 0.0% 441/ 0.0%
mode_errors:mode_error_info/0 105/ 0.0% 420/ 0.0%
bimap:bimap/2 193/ 0.0% 386/ 0.0%
unify_gen:uni_val/0 384/ 0.0% 384/ 0.0%
typecheck:cons_type_info/0 121/ 0.0% 363/ 0.0%
llds:c_procedure/0 90/ 0.0% 360/ 0.0%
common:call_args/0 119/ 0.0% 357/ 0.0%
frameopt:block_type/0 232/ 0.0% 348/ 0.0%
hlds_data:hlds_type_body/0 156/ 0.0% 320/ 0.0%
make_hlds:arg_context/0 146/ 0.0% 276/ 0.0%
hlds_data:maybe_inst_det/0 137/ 0.0% 274/ 0.0%
hlds_goal:unify_main_context/0 251/ 0.0% 263/ 0.0%
typecheck:cons_type/0 125/ 0.0% 250/ 0.0%
base_type_layout:layout_info/0 41/ 0.0% 246/ 0.0%
det_report:seen_call_id/0 119/ 0.0% 238/ 0.0%
equiv_type:eqv_type_body/0 74/ 0.0% 222/ 0.0%
llds:c_module/0 62/ 0.0% 216/ 0.0%
modules:module_imports/0 42/ 0.0% 210/ 0.0%
llds:data_name/0 99/ 0.0% 199/ 0.0%
hlds_data:hlds_mode_defn/0 33/ 0.0% 198/ 0.0%
llds:data_addr/0 99/ 0.0% 198/ 0.0%
mode_errors:delayed_goal/0 63/ 0.0% 189/ 0.0%
switch_gen:extended_case/0 47/ 0.0% 188/ 0.0%
cse_detection:cse_info/0 41/ 0.0% 123/ 0.0%
code_info:resume_maps/0 56/ 0.0% 120/ 0.0%
exprn_aux:exprn_opts/0 30/ 0.0% 120/ 0.0%
liveness:live_info/0 30/ 0.0% 120/ 0.0%
code_info:failure_cont/0 56/ 0.0% 112/ 0.0%
prog_data:mode_defn/0 33/ 0.0% 99/ 0.0%
prog_data:module_defn/0 89/ 0.0% 89/ 0.0%
hlds_data:mode_table/0 35/ 0.0% 70/ 0.0%
hlds_data:maybe_inst/0 67/ 0.0% 67/ 0.0%
globals:globals/0 9/ 0.0% 54/ 0.0%
hlds_data:hlds_inst_defn/0 9/ 0.0% 54/ 0.0%
hlds_goal:resume_point/0 26/ 0.0% 52/ 0.0%
prog_data:sym_list/0 50/ 0.0% 50/ 0.0%
io:res/1 41/ 0.0% 41/ 0.0%
type_util:builtin_type/0 41/ 0.0% 41/ 0.0%
llds_common:common_info/0 12/ 0.0% 36/ 0.0%
hlds_goal:call_unify_context/0 11/ 0.0% 33/ 0.0%
module_qual:error_context2/0 31/ 0.0% 31/ 0.0%
hlds_module:base_gen_info/0 4/ 0.0% 28/ 0.0%
prog_data:inst_defn/0 9/ 0.0% 27/ 0.0%
hlds_module:base_gen_layout/0 4/ 0.0% 24/ 0.0%
hlds_data:user_inst_table/0 11/ 0.0% 22/ 0.0%
getopt:maybe_option_table/1 20/ 0.0% 20/ 0.0%
getopt:option_data/0 19/ 0.0% 19/ 0.0%
hlds_module:dependency_info/0 3/ 0.0% 18/ 0.0%
io:res/0 17/ 0.0% 17/ 0.0%
prog_data:pragma_type/0 4/ 0.0% 12/ 0.0%
hlds_data:hlds_inst_body/0 9/ 0.0% 9/ 0.0%
hlds_module:base_gen_data/0 3/ 0.0% 6/ 0.0%
inlining:inline_params/0 1/ 0.0% 5/ 0.0%
llds:c_file/0 1/ 0.0% 3/ 0.0%
continuation_info:continuation_info/0 1/ 0.0% 2/ 0.0%
passes_aux:task/0 2/ 0.0% 2/ 0.0%
prog_data:program/0 1/ 0.0% 2/ 0.0%
unify_proc:unify_requests/0 1/ 0.0% 2/ 0.0%
getopt:special_data/0 1/ 0.0% 1/ 0.0%
Overall memory usage: 2490863 cells, 7713189 words
More information about the developers
mailing list