[m-rev.] for review: analysis framework and libraries
Julien Fischer
juliensf at cs.mu.OZ.AU
Mon Feb 13 12:26:10 AEDT 2006
On Fri, 10 Feb 2006, Peter Wang wrote:
> Estimated hours taken: 25
> Branches: main
>
> This patch mainly improves the handling of libraries with the intermodule
Delete "mainly".
> analysis framework. `.analysis' files can now be installed into library
> directories and used when analysing local modules.
>
> analysis/analysis.m:
> analysis/analysis.file.m:
> compiler/mmc_analysis.m:
> Separate the `module_id_to_file_name' method of the `compiler'
> typeclass into `module_id_to_read_file_name' and
> `module_id_to_write_file_name'. Add `module_is_local' method.
>
> Change the calls to `module_id_to_file_name' appropriately for the
> context. This allows us to find the `.analysis' files of library
> modules.
>
> Only write results, IMDG and request files for local modules.
>
> Force `.analysis' files of the currently-analysed module to be written
> out, even if it would be empty. This avoids us trying to reanalyse the
> module later.
>
> compiler/options.m:
> Add internal compiler option `--local-module-id'.
>
> compiler/make.dependencies.m:
> Add `make_local_module_id_options' to build a list of
> `--local-module-id' options.
>
> compiler/make.module_target.m:
> Add predicate `make_module_target_extra_options' so we can pass the
> `--local-module-id' options.
>
> compiler/make.program_target.m:
> Analyse modules in bottom up order, according to the module dependency
> graph. The current analyses don't support non-default call patterns,
> so this should reduce the number of analysis passes to get (close to)
> to a fixpoint.
>
> Pass `--local-module-id' options when building analysis files, so the
> analysis framework knows which modules are local.
>
> Install `.analysis' files when installing libraries.
>
> compiler/modules.m:
> Make `.analysis', `.analysis_date', `.imdg' and `.request' files
> architecture- or grade-specified so they go into grade directories
> when `--use-grade-subdirs' is used.
>
> Search for `.analysis' files in the same directories as `.opt' and
> `.trans_opt' files.
>
> Export predicate `add_module_relations' to help build module dependency
> graphs.
>
> compiler/mercury_compile.m:
> Fix a bug where the unused argument optimisation pass was always being
> run if `--intermodule-analysis' was enabled.
>
>
That looks fine.
Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list