[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