Files
mercury/compiler/ll_backend.m
Zoltan Somogyi 4954da84cc Reduce the dependence of the MLDS backend on the LLDS backend by moving
Estimated hours taken: 2
Branches: main

Reduce the dependence of the MLDS backend on the LLDS backend by moving
functionality dealing with proc_labels from the LLDS backend (code_util.m)
to a new module, proc_label.m, which is part of backend_libs.

compiler/code_util.m:
compiler/proc_label.m:
	Move a type and some code from code_util to the new module. Convert
	predicates to functions as relevant. (The old code was written before
	functions were available).

compiler/backend_libs.m:
	Add proc_label to the list of submodules.

compiler/rtti.m:
	Rename a function to avoid a name clash with a function in
	proc_label.m.

compiler/*.m:
	Conform to the changes above.

	Ensure that all imports of modules in the compiler directory are on
	lines of their own, to make CVS merges easier. Sort the imports.
2003-03-14 08:10:12 +00:00

110 lines
3.5 KiB
Mathematica

%-----------------------------------------------------------------------------%
% Copyright (C) 2002,2003 The University of Melbourne.
% This file may only be copied under the terms of the GNU General
% Public License - see the file COPYING in the Mercury distribution.
%-----------------------------------------------------------------------------%
%
% This package contains the low-level back-end
% (a.k.a. the LLDS back-end).
%
:- module ll_backend.
:- interface.
:- import_module aditi_backend. % XXX for rl_file, used in llds_out.
:- import_module backend_libs.
:- import_module check_hlds. % is this needed?
:- import_module hlds.
:- import_module libs.
:- import_module parse_tree.
:- import_module transform_hlds. % is this needed?
%-----------------------------------------------------------------------------%
% Pre-passes to transform or annotate the HLDS
% (XXX these are not listed in right order)
:- include_module saved_vars. % transform
:- include_module stack_opt. % transform
:- include_module stack_alloc. % annotate
:- include_module arg_info. % annotate
:- include_module liveness. % annotate
:- include_module live_vars. % annotate
:- include_module follow_code. % transform
:- include_module follow_vars. % annotate
:- include_module store_alloc. % annotate
:- include_module deep_profiling. % transform
% The llds data structure itself
:- include_module llds.
:- include_module code_util. % XXX
% The HLDS->LLDS code generator.
:- include_module code_gen.
:- include_module ite_gen.
:- include_module call_gen.
:- include_module disj_gen.
:- include_module unify_gen.
:- include_module commit_gen.
:- include_module switch_gen.
:- include_module dense_switch.
:- include_module lookup_switch.
:- include_module string_switch.
:- include_module tag_switch.
:- include_module pragma_c_gen.
:- include_module par_conj_gen.
:- include_module middle_rec.
:- include_module trace.
:- include_module code_info.
:- include_module code_exprn.
:- include_module exprn_aux.
:- include_module code_aux. % XXX
:- include_module continuation_info.
:- include_module var_locn.
% An alternative HLDS->LLDS code generator for fact tables.
:- include_module fact_table.
%:- module llds_rtti.
:- include_module ll_pseudo_type_info.
:- include_module layout.
:- include_module stack_layout.
:- include_module prog_rep.
:- include_module static_term.
%:- end_module llds_rtti.
% LLDS->LLDS optimization passes.
:- include_module optimize.
:- include_module jumpopt.
:- include_module dupelim.
:- include_module frameopt.
:- include_module delay_slot.
:- include_module labelopt.
:- include_module peephole.
:- include_module reassign.
:- include_module wrap_blocks.
:- include_module use_local_vars.
% :- include_module value_number.
% :- include_module vn_block.
% :- include_module vn_cost.
% :- include_module vn_debug.
% :- include_module vn_filter.
% :- include_module vn_flush.
% :- include_module vn_order.
% :- include_module vn_temploc.
% :- include_module vn_util.
% :- include_module vn_verify.
% :- include_module vn_type.
% :- include_module vn_table.
:- include_module llds_common.
:- include_module livemap, basic_block, opt_util, opt_debug.
% The LLDS->C output phase.
:- include_module transform_llds.
:- include_module llds_out.
:- include_module layout_out.
:- include_module rtti_out.
:- end_module ll_backend.
%-----------------------------------------------------------------------------%