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