Files
mercury/trial/code_util.int
1997-12-23 05:02:38 +00:00

41 lines
3.9 KiB
Plaintext

:- 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.