:- module code_util. :- interface. :- import_module hlds_module, hlds_pred, hlds_goal, hlds_data, llds. :- import_module list. :- pred code_util:make_entry_label((hlds_module:module_info), (hlds_pred:pred_id), (hlds_pred:proc_id), (std_util:maybe((std_util:pair(int, (hlds_pred:pred_proc_id))))), (llds:code_addr)). :- mode code_util:make_entry_label(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:make_local_entry_label((hlds_module:module_info), (hlds_pred:pred_id), (hlds_pred:proc_id), (std_util:maybe((std_util:pair(int, (hlds_pred:pred_proc_id))))), (llds:label)). :- mode code_util:make_local_entry_label(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:make_internal_label((hlds_module:module_info), (hlds_pred:pred_id), (hlds_pred:proc_id), int, (llds:label)). :- mode code_util:make_internal_label(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:make_proc_label((hlds_module:module_info), (hlds_pred:pred_id), (hlds_pred:proc_id), (llds:proc_label)). :- mode code_util:make_proc_label(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:make_uni_label((hlds_module:module_info), (hlds_data:type_id), (hlds_pred:proc_id), (llds:proc_label)). :- mode code_util:make_uni_label(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:arg_loc_to_register((hlds_pred:arg_loc), (llds:lval)). :- mode code_util:arg_loc_to_register(mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:goal_may_allocate_heap((hlds_goal:hlds_goal)). :- mode code_util:goal_may_allocate_heap(mercury_builtin:in) is semidet. :- pred code_util:goal_list_may_allocate_heap((list:list((hlds_goal:hlds_goal)))). :- mode code_util:goal_list_may_allocate_heap(mercury_builtin:in) is semidet. :- pred code_util:neg_rval((llds:rval), (llds:rval)). :- mode code_util:neg_rval(mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:negate_the_test((list:list((llds:instruction))), (list:list((llds:instruction)))). :- mode code_util:negate_the_test(mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:compiler_generated((hlds_pred:pred_info)). :- mode code_util:compiler_generated(mercury_builtin:in) is semidet. :- pred code_util:predinfo_is_builtin((hlds_pred:pred_info)). :- mode code_util:predinfo_is_builtin(mercury_builtin:in) is semidet. :- pred code_util:builtin_state((hlds_module:module_info), (hlds_pred:pred_id), (hlds_pred:proc_id), (hlds_goal:builtin_state)). :- mode code_util:builtin_state(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:translate_builtin(string, string, (hlds_pred:proc_id), (list:list((term:var))), (std_util:maybe((llds:rval))), (std_util:maybe((std_util:pair((term:var), (llds:rval)))))). :- mode code_util:translate_builtin(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out, mercury_builtin:out) is semidet. :- pred code_util:cons_id_to_tag((hlds_data:cons_id), (prog_data:(type)), (hlds_module:module_info), (hlds_data:cons_tag)). :- mode code_util:cons_id_to_tag(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out) is det. :- pred code_util:cannot_stack_flush((hlds_goal:hlds_goal)). :- mode code_util:cannot_stack_flush(mercury_builtin:in) is semidet. :- pred code_util:cannot_fail_before_stack_flush((hlds_goal:hlds_goal)). :- mode code_util:cannot_fail_before_stack_flush(mercury_builtin:in) is semidet. :- pred code_util:count_recursive_calls((hlds_goal:hlds_goal), (hlds_pred:pred_id), (hlds_pred:proc_id), int, int). :- mode code_util:count_recursive_calls(mercury_builtin:in, mercury_builtin:in, mercury_builtin:in, mercury_builtin:out, mercury_builtin:out) is det.