[m-rev.] For review: Re-add --region-analysis option
Julien Fischer
juliensf at csse.unimelb.edu.au
Thu Oct 4 17:34:07 AEST 2007
Hi Quan,
You can go ahead and commit this one.
Julien.
On Thu, 4 Oct 2007, Quan Phan wrote:
> Hi there,
>
> This change is pretty small and simple, can anyone take a look at it so
> that I can commit. Will the change get into the nightly built of the
> rotd if I commit it during the day.
>
> Regards,
> Quan.
>
> On Wed, Oct 03, 2007 at 04:17:32PM +0200, Quan Phan wrote:
>> Estimated hours taken: 0.1
>>
>> Re-add option --region-analysis to enable region analysis. Currenly, we need
>> both --region-analysis and --use-regions options because
>> 1. .rbmm implies --use-region which enables the inclusion of the region runtime code. Therefore the region runtime gets compiled in .rbmm grade.
>> 2. The region analysis does not work with some constructs (higher-order terms,
>> foreign code, ...) which appear in the compiler's code. So the
>> --region-analysis option will prevent the region analysis from running when
>> compiling in .rbmm grade.
>>
>> To compile a program with rbmm we either compile it in asm_fast.gc.rbmm grade
>> and specify --region-analysis at command line or specify both options
>> explicitly at command line.
>>
>> compiler/options.m:
>> Add the --region-analysis option.
>>
>> compiler/mercury_compile.m
>> Use the option to turn on region analysis (instead of --use-regions).
>>
>> ? diff_1003
>> cvs diff: Diffing .
>> Index: mercury_compile.m
>> ===================================================================
>> RCS file: /home/mercury/mercury1/repository/mercury/compiler/mercury_compile.m,v
>> retrieving revision 1.450
>> diff -u -r1.450 mercury_compile.m
>> --- mercury_compile.m 3 Oct 2007 12:11:54 -0000 1.450
>> +++ mercury_compile.m 3 Oct 2007 13:46:19 -0000
>> @@ -4272,7 +4272,7 @@
>>
>> maybe_region_analysis(Verbose, Stats, !HLDS, !IO) :-
>> module_info_get_globals(!.HLDS, Globals),
>> - globals.lookup_bool_option(Globals, use_regions, Analysis),
>> + globals.lookup_bool_option(Globals, region_analysis, Analysis),
>> (
>> Analysis = yes,
>> maybe_write_string(Verbose, "% Analysing regions ...\n", !IO),
>> Index: options.m
>> ===================================================================
>> RCS file: /home/mercury/mercury1/repository/mercury/compiler/options.m,v
>> retrieving revision 1.586
>> diff -u -r1.586 options.m
>> --- options.m 3 Oct 2007 12:11:55 -0000 1.586
>> +++ options.m 3 Oct 2007 13:46:21 -0000
>> @@ -588,6 +588,7 @@
>> ; distance_granularity
>> ; parallelism_target
>> ; implicit_parallelism
>> + ; region_analysis
>>
>> % Stuff for the CTGC system (structure sharing / structure reuse).
>> ; structure_sharing_analysis
>> @@ -1379,6 +1380,7 @@
>> distance_granularity - int(0),
>> parallelism_target - int(4),
>> implicit_parallelism - bool(no),
>> + region_analysis - bool(no),
>>
>> % HLDS -> LLDS
>> smart_indexing - bool(no),
>> @@ -1895,6 +1897,7 @@
>> long_option("record-term-sizes-as-words", record_term_sizes_as_words).
>> long_option("record-term-sizes-as-cells", record_term_sizes_as_cells).
>> long_option("experimental-complexity", experimental_complexity).
>> +long_option("region-analysis", region_analysis).
>> % (c) miscellaneous optional features
>> long_option("gc", gc).
>> long_option("garbage-collection", gc).
>> @@ -4478,6 +4481,9 @@
>> "\tinformation generated by mdprof_feedback.",
>> "\tThe profiling feedback file can be specified using the",
>> "\t--feedback file option."
>> +% '--region-analysis' is not documented because it is still experimental.
>> +% "--region-analysis",
>> +% "\tEnable the analysis for region-based memory management."
>> ]).
>>
>> :- pred options_help_hlds_llds_optimization(io::di, io::uo) is det.
>> cvs diff: Diffing notes
>> --------------------------------------------------------------------------
>> mercury-reviews mailing list
>> Post messages to: mercury-reviews at csse.unimelb.edu.au
>> Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
>> Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
>> --------------------------------------------------------------------------
> --------------------------------------------------------------------------
> mercury-reviews mailing list
> Post messages to: mercury-reviews at csse.unimelb.edu.au
> Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
> Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
> --------------------------------------------------------------------------
>
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list