[m-dev.] diff: turn RL optimization on by default

Simon Taylor stayl at cs.mu.OZ.AU
Tue Apr 18 15:09:14 AEST 2000



Estimated hours taken: 1

compiler/options.m:
	Turn RL optimization on by default (at -O2).

	Uncomment the Aditi sections of the options help message.


Index: options.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/options.m,v
retrieving revision 1.278
diff -u -u -r1.278 options.m
--- options.m	2000/03/26 09:06:56	1.278
+++ options.m	2000/04/17 04:25:42
@@ -1328,7 +1328,11 @@
 % when we have fixed that bug.
 	optimize_duplicate_calls -	bool(yes),
 ****/
-	simple_neg		-	bool(yes)
+	simple_neg		-	bool(yes),
+
+	optimize_rl		-	bool(yes),
+	optimize_rl_index	-	bool(yes),
+	detect_rl_streams	-	bool(yes)
 ]).
 
 % Optimization level 3: apply optimizations which usually have a good
@@ -1500,13 +1504,11 @@
 		"\tdifferent types of tracing messages.",
 		"--debug-pd",
 		"\tOutput detailed debugging traces of the partial",
-		"\tdeduction and deforestation process."
-/***** ADITI is not yet useful 
+		"\tdeduction and deforestation process.",
 		"--debug-rl-gen",
 		"\tOutput detailed debugging traces of Aditi-RL code generation.",
 		"--debug-rl-opt",
 		"\tOutput detailed debugging traces of Aditi-RL optimization."
-*****/
 	]).
 
 :- pred options_help_output(io__state::di, io__state::uo) is det.
@@ -1562,11 +1564,9 @@
 		"-c, --compile-only",
 		"\tGenerate C code in `<module>.c' and object code in `<module>.o'",
 		"\tbut do not attempt to link the named modules.",
-/***** ADITI is not yet useful.
-		"--aditi-only"),
+		"--aditi-only",
 		"\tWrite Aditi-RL bytecode to `<module>.rlo' and",
 		"\tdo not compile to C.",
-*****/
 		"--output-grade-string",
 		"\tCompute the grade of the library to link with based on",
 		"\tthe command line options, and print it to the standard",
@@ -1639,8 +1639,7 @@
 		"\tWith `--dump-hlds', include extra detail in the dump.",
 		"\tEach type of detail is included in the dump if its",
 		"\tcorresponding letter occurs in the option argument",
-		"\t(see the Mercury User's Guide for details)."
-/***** ADITI is not yet useful.
+		"\t(see the Mercury User's Guide for details).",
 		"--dump-rl",
 		"\tOutput a human readable form of the compiler's internal",
 		"\trepresentation of the generated Aditi-RL code to",
@@ -1655,7 +1654,6 @@
 		"\trelations to `<module>.derived_schema'.",
 		"\tA schema string is a representation of the types",
 		"\tof a relation."
-*****/
 	]).
 
 :- pred options_help_semantics(io__state::di, io__state::uo) is det.
@@ -2231,25 +2229,25 @@
 :- pred options_help_rl_rl_optimization(io__state::di, io__state::uo) is det.
 
 options_help_rl_rl_optimization -->
-	[].
-/***** ADITI is not yet useful
 	io__write_string("\n    Aditi-RL optimizations:\n"),
 	write_tabbed_lines([
 		"--optimize-rl",
 		"\tEnable the optimizations of Aditi-RL procedures",
 		"\tdescribed below.",
-		"--optimize-rl-cse",
-		"\tOptimize common subexpressions in Aditi-RL procedures.",
 		"\t--optimize-rl-invariants",
 		"\tOptimize loop invariants in Aditi-RL procedures.",
 		"\t--optimize-rl-index",
-		"\tUse indexing to optimize access to relations in Aditi-RL".
+		"\tUse indexing to optimize access to relations in Aditi-RL",
 		"\tprocedures.",
 		"\t--detect-rl-streams",
 		"\tDetect cases where intermediate results in Aditi-RL",
 		"\tprocedures do not need to be materialised."
+		/*
+		% This option is not yet used.
+		"--optimize-rl-cse",
+		"\tOptimize common subexpressions in Aditi-RL procedures.",
+		*/
 	]).
-*****/
 
 :- pred options_help_output_optimization(io__state::di, io__state::uo) is det.
 
@@ -2334,8 +2332,7 @@
 		"\tfile name from the standard input. Repeat this until EOF",
 		"\tis reached. (This allows a program or user to interactively",
 		"\tcompile several modules without the overhead of process",
-		"\tcreation for each one.)"
-/***** ADITI is not yet useful.
+		"\tcreation for each one.)",
 		"--aditi",
 		"\tEnable Aditi compilation. You need to enable this",
 		"\toption if you are making use of the Aditi deductive",
@@ -2347,8 +2344,7 @@
 		"\tpredicates, and is also used for security checks.",
 		"\tDefaults to the value of the `USER' environment",
 		"\tvariable. If `$USER' is not set, `--aditi-user'",
-		"\tdefaults to the string ""guest"".".
-*****/
+		"\tdefaults to the string ""guest""."
 	]).
 
 :- pred write_tabbed_lines(list(string), io__state, io__state).
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list