Files
mercury/compiler/transform_hlds.m
Zoltan Somogyi 3ebda6545f Move the stuff currently in hlds_pred.m that deals with clauses into a new
Estimated hours taken: 1.5
Branches: main

Move the stuff currently in hlds_pred.m that deals with clauses into a new
module, hlds_clauses.m.

Move the stuff currently in hlds_pred.m that deals with RTTI into a new
module, hlds_rtti.m.

Move the stuff currently in hlds_module.m that deals with predicate tables
into a new module, pred_table.m.

These changes make hlds_pred.m and hlds_module.m much more cohesive, but there
are no changes in algorithms.

compiler/hlds_clauses.m:
compiler/hlds_rtti.m:
compiler/pred_table.m:
	New modules as described above. In some cases, fix mixleading or
	ambiguous predicate names in the process, and convert a few predicates
	to functions.

compiler/hlds_pred.m:
compiler/hlds_module.m:
	Delete the stuff moved to other modules.

compiler/*.m:
	In modules that need the functionality moved a new module, import
	the new module. It is rare for all the new modules to be needed,
	and many modules don't need any of the new modules at all. (For
	example, of the 200+ modules that import hlds_module.m, only about 40
	need pred_table.m.)

	Conform to the few minor changes to e.g. predicate names.

compiler/notes/compiler_design.html:
	Document the new modules.
2006-03-24 03:04:20 +00:00

101 lines
2.8 KiB
Mathematica

%-----------------------------------------------------------------------------%
% vim: ft=mercury ts=4 sw=4 et
%-----------------------------------------------------------------------------%
% Copyright (C) 2002-2006 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.
%-----------------------------------------------------------------------------%
%
% transform_hlds: High-level transformations
% that are independent of the choice of back-end
% (the "middle" HLDS pass).
%
:- module transform_hlds.
:- interface.
:- import_module hlds.
:- import_module parse_tree.
:- import_module libs.
:- import_module mdbcomp.
%-----------------------------------------------------------------------------%
:- include_module intermod.
:- include_module trans_opt.
:- include_module dependency_graph.
:- include_module equiv_type_hlds.
:- include_module table_gen.
:- include_module complexity.
:- include_module (lambda).
:- include_module closure_analysis.
:- include_module termination.
:- include_module term_pass1.
:- include_module term_pass2.
:- include_module term_traversal.
:- include_module term_errors.
:- include_module term_norm.
:- include_module term_util.
:- include_module transform_hlds.ctgc.
:- include_module term_constr_main.
:- include_module term_constr_initial.
% Pass 1.
:- include_module term_constr_build.
:- include_module term_constr_fixpoint.
% Pass 2.
:- include_module term_constr_pass2.
% Other bits.
:- include_module term_constr_util.
:- include_module term_constr_data.
:- include_module term_constr_errors.
:- include_module post_term_analysis.
:- include_module exception_analysis.
:- include_module trailing_analysis.
% Optimizations (HLDS -> HLDS)
:- include_module higher_order.
:- include_module inlining.
:- include_module deforest.
:- include_module constraint.
:- include_module pd_cost.
:- include_module pd_debug.
:- include_module pd_info.
:- include_module pd_term.
:- include_module pd_util.
:- include_module delay_construct.
:- include_module unused_args.
:- include_module unneeded_code.
:- include_module accumulator.
:- include_module goal_store.
:- include_module dead_proc_elim.
:- include_module const_prop.
:- include_module loop_inv.
:- include_module size_prof.
:- include_module tupling.
:- include_module untupling.
:- include_module mmc_analysis.
% XXX The following modules are all currently unused.
:- include_module transform.
:- include_module lco.
%-----------------------------------------------------------------------------%
:- implementation.
:- import_module check_hlds.
:- end_module transform_hlds.
%-----------------------------------------------------------------------------%