Files
mercury/compiler/transform_hlds.m
Zoltan Somogyi ac66a3c788 Carve two new modules out of intermod.m.
compiler/intermod_analysis.m:
compiler/intermod_order_pred_info.m:
    Carve these two new moduiles out of intermod.m.

    intermod_analysis.m contains the parts of the old intermod.m that
    deal with collecting program analysis results in the forms of
    compiler-generated pragmas, and writing them out. These pragmas make up
    the second half of .opt files, and the entirety of .trans_opt files.

    intermod_order_pred_info.m contains some utilities that are needed
    by both intermod_analysis.m and the code that is left in intermod.m.

compiler/intermod.m:
    Remove the code moded to the new modules.

compiler/transform_hlds.m:
    Include the new modules in the transform_hlds package.

compiler/notes/compiler_design.html:
    Describe the new arrangement.

compiler/item_util.m:
    Move a utility function here from intermod.m, since it is (a) now needed
    by intermod_analysis.m as well, and (b) this is its natural home.

compiler/exception_analysis.m:
compiler/mercury_compile_front_end.m:
compiler/mercury_compile_middle_passes.m:
compiler/structure_reuse.analysis.m:
compiler/structure_sharing.analysis.m:
compiler/tabling_analysis.m:
compiler/trailing_analysis.m:
    Conform to the changes above.
2021-12-01 01:42:18 +11:00

108 lines
3.1 KiB
Mathematica

%-----------------------------------------------------------------------------%
% vim: ft=mercury ts=4 sw=4 et
%-----------------------------------------------------------------------------%
% Copyright (C) 2002-2008, 2012 The University of Melbourne.
% Copyright (C) 2017 The Mercury Team.
% 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.
%-----------------------------------------------------------------------------%
:- include_module intermod.
:- include_module intermod_analysis.
:- include_module intermod_order_pred_info.
:- include_module equiv_type_hlds.
:- include_module table_gen.
:- include_module complexity.
:- include_module (lambda).
:- include_module stm_expand.
:- 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 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_main_types.
:- 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.
:- include_module tabling_analysis.
:- include_module ssdebug.
:- include_module ctgc.
:- include_module rbmm.
:- include_module smm_common.
% Mostly 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.
% Parallelism.
:- include_module distance_granularity.
:- include_module granularity.
:- include_module dep_par_conj.
:- include_module parallel_to_plain_conj.
:- include_module implicit_parallelism.
:- include_module par_loop_control.
:- include_module lco.
:- include_module float_regs.
:- include_module direct_arg_in_out.
:- include_module mmc_analysis.
%-----------------------------------------------------------------------------%
:- end_module transform_hlds.
%-----------------------------------------------------------------------------%