[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