[m-rev.] diff: --disable-trail-ops
Julien Fischer
juliensf at cs.mu.OZ.AU
Tue Jan 3 14:20:33 AEDT 2006
Estimated hours taken: 0.5
Branches: main
Add a new developer-only option, `--disable-trail-ops', that disables the
output of trailing operations. This is intended for analysing the performance
impact of trailing and is not otherwise useful.
compiler/options.m:
Add the new option.
compiler/code_util.m:
compiler/mercury_compile.m:
Support the new options in code generators.
Julien.
Index: compiler/code_util.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/code_util.m,v
retrieving revision 1.162
diff -u -r1.162 code_util.m
--- compiler/code_util.m 6 Dec 2005 06:26:06 -0000 1.162
+++ compiler/code_util.m 3 Jan 2006 03:09:48 -0000
@@ -465,17 +465,25 @@
AddTrailOps = no
;
UseTrail = yes,
- globals.lookup_bool_option(Globals, optimize_trail_usage,
- OptTrailUsage),
+ globals.lookup_bool_option(Globals, disable_trail_ops,
+ DisableTrailOps),
(
- OptTrailUsage = no,
- AddTrailOps = yes
+ DisableTrailOps = yes,
+ AddTrailOps = no
;
- OptTrailUsage = yes,
- ( goal_cannot_modify_trail(Goal) ->
- AddTrailOps = no
- ;
+ DisableTrailOps = no,
+ globals.lookup_bool_option(Globals, optimize_trail_usage,
+ OptTrailUsage),
+ (
+ OptTrailUsage = no,
AddTrailOps = yes
+ ;
+ OptTrailUsage = yes,
+ ( goal_cannot_modify_trail(Goal) ->
+ AddTrailOps = no
+ ;
+ AddTrailOps = yes
+ )
)
)
).
Index: compiler/mercury_compile.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/mercury_compile.m,v
retrieving revision 1.370
diff -u -r1.370 mercury_compile.m
--- compiler/mercury_compile.m 19 Dec 2005 02:13:53 -0000 1.370
+++ compiler/mercury_compile.m 3 Jan 2006 03:06:41 -0000
@@ -3163,7 +3163,22 @@
maybe_add_trail_ops(Verbose, Stats, !HLDS, !IO) :-
globals__io_lookup_bool_option(use_trail, UseTrail, !IO),
(
+ UseTrail = no,
+ EmitTrailOps = no
+ ;
UseTrail = yes,
+ globals__io_lookup_bool_option(disable_trail_ops, DisableTrailOps,
+ !IO),
+ (
+ DisableTrailOps = yes,
+ EmitTrailOps = no
+ ;
+ DisableTrailOps = no,
+ EmitTrailOps = yes
+ )
+ ),
+ (
+ EmitTrailOps = yes,
globals.io_lookup_bool_option(optimize_trail_usage, OptTrailUse, !IO),
globals.io_get_target(Target, !IO),
(
@@ -3187,7 +3202,7 @@
maybe_write_string(Verbose, "% done.\n", !IO),
maybe_report_stats(Stats, !IO)
;
- UseTrail = no
+ EmitTrailOps = no
).
:- pred maybe_add_heap_ops(bool::in, bool::in,
Index: compiler/options.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/options.m,v
retrieving revision 1.486
diff -u -r1.486 options.m
--- compiler/options.m 22 Dec 2005 00:53:19 -0000 1.486
+++ compiler/options.m 3 Jan 2006 02:55:12 -0000
@@ -418,6 +418,9 @@
% These four are used to analyze the performance effects
% of minimal model tabling.
+ ; disable_trail_ops
+ % This is used to analyze the performance effects of trailing.
+
% Code generation options
; low_level_debug
; trad_passes
@@ -1075,7 +1078,8 @@
disable_minimal_model_stack_copy_pneg - bool(no),
disable_minimal_model_stack_copy_cut - bool(no),
use_minimal_model_stack_copy_pneg - bool(no),
- use_minimal_model_stack_copy_cut - bool(no)
+ use_minimal_model_stack_copy_cut - bool(no),
+ disable_trail_ops - bool(no)
]).
option_defaults_2(code_gen_option, [
% Code Generation Options
@@ -1781,6 +1785,7 @@
long_option("rtti-line-numbers", rtti_line_numbers).
long_option("disable-mm-pneg", disable_minimal_model_stack_copy_pneg).
long_option("disable-mm-cut", disable_minimal_model_stack_copy_cut).
+long_option("disable-trail-ops", disable_trail_ops).
% code generation options
long_option("low-level-debug", low_level_debug).
--------------------------------------------------------------------------
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