[m-rev.] diff: remembering ground terms' MLDS types

Zoltan Somogyi zs at csse.unimelb.edu.au
Tue Sep 8 12:48:42 AEST 2009


compiler/ml_unify_gen.m:
	When remembering ground terms, remember the MLDS type as well as the
	Mercury type, since otherwise, it would have to computed again when the
	ground term is used. This yields a speedup of 1.3% when compiling
	training_cars_full.m, and a speedup of 0.3% on tool/speedtest -h.

compiler/ml_global_data.m:
	Change the type used for this recording.

Zoltan.

cvs diff: Diffing .
cvs diff: Diffing analysis
cvs diff: Diffing bindist
cvs diff: Diffing boehm_gc
cvs diff: Diffing boehm_gc/Mac_files
cvs diff: Diffing boehm_gc/cord
cvs diff: Diffing boehm_gc/cord/private
cvs diff: Diffing boehm_gc/doc
cvs diff: Diffing boehm_gc/include
cvs diff: Diffing boehm_gc/include/private
cvs diff: Diffing boehm_gc/libatomic_ops-1.2
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/doc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/hpc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/ibmc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/icc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/msftc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/sunc
cvs diff: Diffing boehm_gc/libatomic_ops-1.2/tests
cvs diff: Diffing boehm_gc/tests
cvs diff: Diffing boehm_gc/windows-untested
cvs diff: Diffing boehm_gc/windows-untested/vc60
cvs diff: Diffing boehm_gc/windows-untested/vc70
cvs diff: Diffing boehm_gc/windows-untested/vc71
cvs diff: Diffing browser
cvs diff: Diffing bytecode
cvs diff: Diffing compiler
Index: compiler/ml_code_util.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/ml_code_util.m,v
retrieving revision 1.141
diff -u -b -r1.141 ml_code_util.m
--- compiler/ml_code_util.m	3 Sep 2009 23:57:26 -0000	1.141
+++ compiler/ml_code_util.m	4 Sep 2009 18:55:17 -0000
@@ -281,6 +281,7 @@
 :- func ml_gen_public_field_decl_flags = mlds_decl_flags.
 
     % Apply the usual %s_%d formatting to a MLDS variable name.
+    %
 :- func ml_var_name_to_string(mlds_var_name) = string.
 
 %-----------------------------------------------------------------------------%
@@ -639,7 +640,12 @@
 
                 % The type of the ground term (actually, the type of the
                 % variable the ground term was constructed for).
-                mer_type
+                mer_type,
+
+                % The corresponding MLDS type. It could be computed from the
+                % Mercury type, but there is no point in doing so when using
+                % the ground term as well when constructing it.
+                mlds_type
             ).
 
 :- type ml_ground_term_map == map(prog_var, ml_ground_term).
Index: compiler/ml_unify_gen.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/ml_unify_gen.m,v
retrieving revision 1.137
diff -u -b -r1.137 ml_unify_gen.m
--- compiler/ml_unify_gen.m	4 Sep 2009 02:27:52 -0000	1.137
+++ compiler/ml_unify_gen.m	4 Sep 2009 20:05:55 -0000
@@ -294,15 +294,15 @@
             ml_gen_var(!.Info, Var, VarLval),
             ml_gen_info_get_module_info(!.Info, ModuleInfo),
             ( ml_gen_info_search_const_var(!.Info, ArgVar, ArgGroundTerm) ->
-                ArgGroundTerm = ml_ground_term(ArgRval, ArgType),
-                MLDS_ArgType = mercury_type_to_mlds_type(ModuleInfo, ArgType),
+                ArgGroundTerm = ml_ground_term(ArgRval, _ArgType,
+                    MLDS_ArgType),
                 ml_gen_info_get_global_data(!.Info, GlobalData0),
                 ml_gen_box_const_rval(ModuleInfo, MLDS_ArgType,
                     ArgRval, Context, Rval0, GlobalData0, GlobalData),
                 ml_gen_info_set_global_data(GlobalData, !Info),
                 MLDS_Type = mercury_type_to_mlds_type(ModuleInfo, Type),
                 Rval = ml_unop(cast(MLDS_Type), Rval0),
-                GroundTerm = ml_ground_term(Rval, Type),
+                GroundTerm = ml_ground_term(Rval, Type, MLDS_Type),
                 ml_gen_info_set_const_var(Var, GroundTerm, !Info)
             ;
                 ml_gen_var(!.Info, ArgVar, ArgVarLval),
@@ -356,7 +356,9 @@
             Args = [],
             ml_gen_var(!.Info, Var, VarLval),
             ml_gen_constant(Tag, Type, Rval, !Info),
-            GroundTerm = ml_ground_term(Rval, Type),
+            ml_gen_info_get_module_info(!.Info, ModuleInfo),
+            MLDS_Type = mercury_type_to_mlds_type(ModuleInfo, Type),
+            GroundTerm = ml_ground_term(Rval, Type, MLDS_Type),
             ml_gen_info_set_const_var(Var, GroundTerm, !Info),
             Statement = ml_gen_assign(VarLval, Rval, Context),
             Statements = [Statement]
@@ -366,20 +368,12 @@
         )
     ).
 
-:- pred ml_gen_static_const_arg_list(ml_gen_info::in,
-    list(prog_var)::in, list(mlds_rval)::out) is det.
-
-ml_gen_static_const_arg_list(_, [], []).
-ml_gen_static_const_arg_list(Info, [Var | Vars], [Rval | Rvals]) :-
-    ml_gen_static_const_arg(Info, Var, Rval),
-    ml_gen_static_const_arg_list(Info, Vars, Rvals).
+:- pred ml_gen_info_lookup_const_var_rval(ml_gen_info::in, prog_var::in,
+    mlds_rval::out) is det.
 
-:- pred ml_gen_static_const_arg(ml_gen_info::in, prog_var::in, mlds_rval::out)
-    is det.
-
-ml_gen_static_const_arg(Info, Var, Rval) :-
+ml_gen_info_lookup_const_var_rval(Info, Var, Rval) :-
     ml_gen_info_lookup_const_var(Info, Var, GroundTerm),
-    GroundTerm = ml_ground_term(Rval, _Type).
+    GroundTerm = ml_ground_term(Rval, _, _).
 
     % Generate the rval for a given constant.
     %
@@ -464,8 +458,7 @@
         ml_gen_constant(ThisTag, VarType, Rval, !Info)
     ;
         % These tags, which are not (necessarily) constants, are handled
-        % in ml_gen_construct and ml_gen_static_const_arg,
-        % so we don't need to handle them here.
+        % in ml_gen_construct, so we don't need to handle them here.
         (
             Tag = no_tag,
             unexpected(this_file, "ml_gen_constant: no_tag")
@@ -720,9 +713,6 @@
 
     some [!GlobalData] (
         % Generate rvals for the arguments.
-        list.map(ml_gen_type(!.Info), ArgTypes, MLDS_ArgTypes0),
-        ml_gen_static_const_arg_list(!.Info, ArgVars, ArgRvals0),
-
         ml_gen_info_get_global_data(!.Info, !:GlobalData),
 
         % Box or unbox the arguments, if needed, and insert the extra rvals
@@ -730,12 +720,17 @@
         (
             HighLevelData = no,
             % Box *all* the arguments, including the ExtraRvals.
-            ArgRvals1 = ExtraRvals ++ ArgRvals0,
-            MLDS_ArgTypes = ExtraTypes ++ MLDS_ArgTypes0,
-            ml_gen_box_const_rval_list(ModuleInfo, MLDS_ArgTypes, ArgRvals1,
-                Context, ArgRvals, !GlobalData)
+            list.map(ml_gen_info_lookup_const_var(!.Info), ArgVars,
+                ArgGroundTerms),
+            ml_gen_box_extra_const_rval_list(ModuleInfo,
+                ExtraTypes, ExtraRvals, Context, ExtraArgRvals, !GlobalData),
+            ml_gen_box_const_rval_list(ModuleInfo, ArgGroundTerms,
+                Context, ArgRvals1, !GlobalData),
+            ArgRvals = ExtraArgRvals ++ ArgRvals1
         ;
             HighLevelData = yes,
+            list.map(ml_gen_info_lookup_const_var_rval(!.Info), ArgVars,
+                ArgRvals0),
             list.map(ml_type_as_field(ModuleInfo, HighLevelData),
                 ConsArgTypes, FieldTypes),
             ml_gen_box_or_unbox_const_rval_list(ModuleInfo, ArgTypes,
@@ -793,7 +788,7 @@
         TaggedRval = ml_mkword(Tag, ConstAddrRval)
     ),
     Rval = ml_unop(cast(MLDS_Type), TaggedRval),
-    GroundTerm = ml_ground_term(Rval, VarType),
+    GroundTerm = ml_ground_term(Rval, VarType, MLDS_Type),
     ml_gen_info_set_const_var(Var, GroundTerm, !Info),
 
     AssignStatement = ml_gen_assign(VarLval, Rval, Context),
@@ -1149,21 +1144,34 @@
             native_if_possible, ArgRval, FieldRval)
     ).
 
-:- pred ml_gen_box_const_rval_list(module_info::in, list(mlds_type)::in,
+:- pred ml_gen_box_const_rval_list(module_info::in, list(ml_ground_term)::in,
+    prog_context::in, list(mlds_rval)::out,
+    ml_global_data::in, ml_global_data::out) is det.
+
+ml_gen_box_const_rval_list(_, [], _, [], !GlobalData).
+ml_gen_box_const_rval_list(ModuleInfo, [GroundTerm | GroundTerms],
+        Context, [BoxedRval | BoxedRvals], !GlobalData) :-
+    GroundTerm = ml_ground_term(Rval, _MercuryType, Type),
+    ml_gen_box_const_rval(ModuleInfo, Type, Rval,
+        Context, BoxedRval, !GlobalData),
+    ml_gen_box_const_rval_list(ModuleInfo, GroundTerms,
+        Context, BoxedRvals, !GlobalData).
+
+:- pred ml_gen_box_extra_const_rval_list(module_info::in, list(mlds_type)::in,
     list(mlds_rval)::in, prog_context::in, list(mlds_rval)::out,
     ml_global_data::in, ml_global_data::out) is det.
 
-ml_gen_box_const_rval_list(_, [], [], _, [], !GlobalData).
-ml_gen_box_const_rval_list(ModuleInfo, [Type | Types], [Rval | Rvals], Context,
-        [BoxedRval | BoxedRvals], !GlobalData) :-
-    ml_gen_box_const_rval(ModuleInfo, Type, Rval, Context, BoxedRval,
-        !GlobalData),
-    ml_gen_box_const_rval_list(ModuleInfo, Types, Rvals, Context, BoxedRvals,
-        !GlobalData).
-ml_gen_box_const_rval_list(_, [], [_ | _], _, _, !GlobalData) :-
-    unexpected(this_file, "ml_gen_box_const_rval_list: length mismatch").
-ml_gen_box_const_rval_list(_, [_ | _], [], _, _, !GlobalData) :-
-    unexpected(this_file, "ml_gen_box_const_rval_list: length mismatch").
+ml_gen_box_extra_const_rval_list(_, [], [], _, [], !GlobalData).
+ml_gen_box_extra_const_rval_list(ModuleInfo, [Type | Types], [Rval | Rvals],
+        Context, [BoxedRval | BoxedRvals], !GlobalData) :-
+    ml_gen_box_const_rval(ModuleInfo, Type, Rval,
+        Context, BoxedRval, !GlobalData),
+    ml_gen_box_extra_const_rval_list(ModuleInfo, Types, Rvals,
+        Context, BoxedRvals, !GlobalData).
+ml_gen_box_extra_const_rval_list(_, [], [_ | _], _, _, !GlobalData) :-
+    unexpected(this_file, "ml_gen_box_extra_const_rval_list: length mismatch").
+ml_gen_box_extra_const_rval_list(_, [_ | _], [], _, _, !GlobalData) :-
+    unexpected(this_file, "ml_gen_box_extra_const_rval_list: length mismatch").
 
 :- pred ml_gen_box_const_rval(module_info::in, mlds_type::in, mlds_rval::in,
     prog_context::in, mlds_rval::out,
@@ -2022,7 +2030,7 @@
                 ml_gen_info_set_const_var(TermVar, TermVarGroundTerm, !Info),
 
                 ml_gen_var(!.Info, TermVar, TermVarLval),
-                TermVarGroundTerm = ml_ground_term(TermVarRval, _),
+                TermVarGroundTerm = ml_ground_term(TermVarRval, _, _),
                 Context = goal_info_get_context(GoalInfo),
                 Statement = ml_gen_assign(TermVarLval, TermVarRval, Context),
                 Statements = [Statement]
@@ -2115,7 +2123,7 @@
         ),
         expect(unify(Args, []), this_file,
             "ml_gen_ground_term_conjunct_tag: constant tag with args"),
-        ConstGroundTerm = ml_ground_term(ConstRval, VarType),
+        ConstGroundTerm = ml_ground_term(ConstRval, VarType, MLDS_Type),
         svmap.det_insert(Var, ConstGroundTerm, !GroundTermMap)
     ;
         ( ConsTag = type_ctor_info_tag(_, _, _)
@@ -2138,12 +2146,11 @@
         (
             Args = [Arg],
             svmap.det_remove(Arg, ArgGroundTerm, !GroundTermMap),
-            ArgGroundTerm = ml_ground_term(ArgRval, ArgType),
-            MLDS_ArgType = mercury_type_to_mlds_type(ModuleInfo, ArgType),
+            ArgGroundTerm = ml_ground_term(ArgRval, _ArgType, MLDS_ArgType),
             ml_gen_box_const_rval(ModuleInfo, MLDS_ArgType,
                 ArgRval, Context, Rval0, !GlobalData),
             Rval = ml_unop(cast(MLDS_Type), Rval0),
-            GroundTerm = ml_ground_term(Rval, VarType),
+            GroundTerm = ml_ground_term(Rval, VarType, MLDS_Type),
             svmap.det_insert(Var, GroundTerm, !GroundTermMap)
         ;
             ( Args = []
@@ -2282,7 +2289,7 @@
         TaggedRval = ml_mkword(Ptag, ConstAddrRval)
     ),
     Rval = ml_unop(cast(MLDS_Type), TaggedRval),
-    GroundTerm = ml_ground_term(Rval, VarType),
+    GroundTerm = ml_ground_term(Rval, VarType, MLDS_Type),
     svmap.det_insert(Var, GroundTerm, !GroundTermMap).
 
 %-----------------------------------------------------------------------------%
@@ -2329,7 +2336,7 @@
 construct_ground_term_initializer_hld(ModuleInfo, Context,
         Arg - ConsArgType, ArgInitializer, !GlobalData, !GroundTermMap) :-
     svmap.det_remove(Arg, ArgGroundTerm, !GroundTermMap),
-    ArgGroundTerm = ml_ground_term(ArgRval0, ArgType),
+    ArgGroundTerm = ml_ground_term(ArgRval0, ArgType, _MLDS_ArgType),
     ml_type_as_field(ModuleInfo, yes, ConsArgType, BoxedArgType),
     ml_gen_box_or_unbox_const_rval(ModuleInfo, ArgType, BoxedArgType,
         ArgRval0, Context, ArgRval, !GlobalData),
@@ -2343,8 +2350,7 @@
 construct_ground_term_initializer_lld(ModuleInfo, Context,
         Arg - _ConsArgType, ArgInitializer, !GlobalData, !GroundTermMap) :-
     svmap.det_remove(Arg, ArgGroundTerm, !GroundTermMap),
-    ArgGroundTerm = ml_ground_term(ArgRval0, ArgType),
-    MLDS_ArgType = mercury_type_to_mlds_type(ModuleInfo, ArgType),
+    ArgGroundTerm = ml_ground_term(ArgRval0, _ArgType, MLDS_ArgType),
     ml_gen_box_const_rval(ModuleInfo, MLDS_ArgType,
         ArgRval0, Context, ArgRval, !GlobalData),
     ArgInitializer = init_obj(ArgRval).
cvs diff: Diffing compiler/notes
cvs diff: Diffing debian
cvs diff: Diffing debian/patches
cvs diff: Diffing deep_profiler
cvs diff: Diffing deep_profiler/notes
cvs diff: Diffing doc
cvs diff: Diffing extras
cvs diff: Diffing extras/base64
cvs diff: Diffing extras/cgi
cvs diff: Diffing extras/complex_numbers
cvs diff: Diffing extras/complex_numbers/samples
cvs diff: Diffing extras/complex_numbers/tests
cvs diff: Diffing extras/concurrency
cvs diff: Diffing extras/curs
cvs diff: Diffing extras/curs/samples
cvs diff: Diffing extras/curses
cvs diff: Diffing extras/curses/sample
cvs diff: Diffing extras/dynamic_linking
cvs diff: Diffing extras/error
cvs diff: Diffing extras/fixed
cvs diff: Diffing extras/gator
cvs diff: Diffing extras/gator/generations
cvs diff: Diffing extras/gator/generations/1
cvs diff: Diffing extras/graphics
cvs diff: Diffing extras/graphics/easyx
cvs diff: Diffing extras/graphics/easyx/samples
cvs diff: Diffing extras/graphics/mercury_allegro
cvs diff: Diffing extras/graphics/mercury_allegro/examples
cvs diff: Diffing extras/graphics/mercury_allegro/samples
cvs diff: Diffing extras/graphics/mercury_allegro/samples/demo
cvs diff: Diffing extras/graphics/mercury_allegro/samples/mandel
cvs diff: Diffing extras/graphics/mercury_allegro/samples/pendulum2
cvs diff: Diffing extras/graphics/mercury_allegro/samples/speed
cvs diff: Diffing extras/graphics/mercury_glut
cvs diff: Diffing extras/graphics/mercury_opengl
cvs diff: Diffing extras/graphics/mercury_tcltk
cvs diff: Diffing extras/graphics/samples
cvs diff: Diffing extras/graphics/samples/calc
cvs diff: Diffing extras/graphics/samples/gears
cvs diff: Diffing extras/graphics/samples/maze
cvs diff: Diffing extras/graphics/samples/pent
cvs diff: Diffing extras/lazy_evaluation
cvs diff: Diffing extras/lex
cvs diff: Diffing extras/lex/samples
cvs diff: Diffing extras/lex/tests
cvs diff: Diffing extras/log4m
cvs diff: Diffing extras/logged_output
cvs diff: Diffing extras/moose
cvs diff: Diffing extras/moose/samples
cvs diff: Diffing extras/moose/tests
cvs diff: Diffing extras/mopenssl
cvs diff: Diffing extras/morphine
cvs diff: Diffing extras/morphine/non-regression-tests
cvs diff: Diffing extras/morphine/scripts
cvs diff: Diffing extras/morphine/source
cvs diff: Diffing extras/net
cvs diff: Diffing extras/odbc
cvs diff: Diffing extras/posix
cvs diff: Diffing extras/posix/samples
cvs diff: Diffing extras/quickcheck
cvs diff: Diffing extras/quickcheck/tutes
cvs diff: Diffing extras/references
cvs diff: Diffing extras/references/samples
cvs diff: Diffing extras/references/tests
cvs diff: Diffing extras/solver_types
cvs diff: Diffing extras/solver_types/library
cvs diff: Diffing extras/trailed_update
cvs diff: Diffing extras/trailed_update/samples
cvs diff: Diffing extras/trailed_update/tests
cvs diff: Diffing extras/windows_installer_generator
cvs diff: Diffing extras/windows_installer_generator/sample
cvs diff: Diffing extras/windows_installer_generator/sample/images
cvs diff: Diffing extras/xml
cvs diff: Diffing extras/xml/samples
cvs diff: Diffing extras/xml_stylesheets
cvs diff: Diffing java
cvs diff: Diffing java/runtime
cvs diff: Diffing library
cvs diff: Diffing mdbcomp
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
cvs diff: Diffing runtime/GETOPT
cvs diff: Diffing runtime/machdeps
cvs diff: Diffing samples
cvs diff: Diffing samples/c_interface
cvs diff: Diffing samples/c_interface/c_calls_mercury
cvs diff: Diffing samples/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/mercury_calls_c
cvs diff: Diffing samples/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/standalone_c
cvs diff: Diffing samples/diff
cvs diff: Diffing samples/muz
cvs diff: Diffing samples/rot13
cvs diff: Diffing samples/solutions
cvs diff: Diffing samples/solver_types
cvs diff: Diffing samples/tests
cvs diff: Diffing samples/tests/c_interface
cvs diff: Diffing samples/tests/c_interface/c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/tests/c_interface/mercury_calls_c
cvs diff: Diffing samples/tests/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/tests/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/tests/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/tests/diff
cvs diff: Diffing samples/tests/muz
cvs diff: Diffing samples/tests/rot13
cvs diff: Diffing samples/tests/solutions
cvs diff: Diffing samples/tests/toplevel
cvs diff: Diffing scripts
cvs diff: Diffing slice
cvs diff: Diffing ssdb
cvs diff: Diffing tests
cvs diff: Diffing tests/analysis
cvs diff: Diffing tests/analysis/ctgc
cvs diff: Diffing tests/analysis/excp
cvs diff: Diffing tests/analysis/ext
cvs diff: Diffing tests/analysis/sharing
cvs diff: Diffing tests/analysis/table
cvs diff: Diffing tests/analysis/trail
cvs diff: Diffing tests/analysis/unused_args
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
cvs diff: Diffing tests/debugger/declarative
cvs diff: Diffing tests/dppd
cvs diff: Diffing tests/general
cvs diff: Diffing tests/general/accumulator
cvs diff: Diffing tests/general/string_format
cvs diff: Diffing tests/general/structure_reuse
cvs diff: Diffing tests/grade_subdirs
cvs diff: Diffing tests/hard_coded
cvs diff: Diffing tests/hard_coded/exceptions
cvs diff: Diffing tests/hard_coded/purity
cvs diff: Diffing tests/hard_coded/sub-modules
cvs diff: Diffing tests/hard_coded/typeclasses
cvs diff: Diffing tests/invalid
cvs diff: Diffing tests/invalid/purity
cvs diff: Diffing tests/misc_tests
cvs diff: Diffing tests/mmc_make
cvs diff: Diffing tests/mmc_make/lib
cvs diff: Diffing tests/par_conj
cvs diff: Diffing tests/recompilation
cvs diff: Diffing tests/stm
cvs diff: Diffing tests/stm/orig
cvs diff: Diffing tests/stm/orig/stm-compiler
cvs diff: Diffing tests/stm/orig/stm-compiler/test1
cvs diff: Diffing tests/stm/orig/stm-compiler/test10
cvs diff: Diffing tests/stm/orig/stm-compiler/test2
cvs diff: Diffing tests/stm/orig/stm-compiler/test3
cvs diff: Diffing tests/stm/orig/stm-compiler/test4
cvs diff: Diffing tests/stm/orig/stm-compiler/test5
cvs diff: Diffing tests/stm/orig/stm-compiler/test6
cvs diff: Diffing tests/stm/orig/stm-compiler/test7
cvs diff: Diffing tests/stm/orig/stm-compiler/test8
cvs diff: Diffing tests/stm/orig/stm-compiler/test9
cvs diff: Diffing tests/stm/orig/stm-compiler-par
cvs diff: Diffing tests/stm/orig/stm-compiler-par/bm1
cvs diff: Diffing tests/stm/orig/stm-compiler-par/bm2
cvs diff: Diffing tests/stm/orig/stm-compiler-par/stmqueue
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test1
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test10
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test11
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test2
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test3
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test4
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test5
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test6
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test7
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test8
cvs diff: Diffing tests/stm/orig/stm-compiler-par/test9
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test1
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test2
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test3
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test4
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test5
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test6
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test7
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test8
cvs diff: Diffing tests/stm/orig/stm-compiler-par-asm_fast/test9
cvs diff: Diffing tests/tabling
cvs diff: Diffing tests/term
cvs diff: Diffing tests/trailing
cvs diff: Diffing tests/valid
cvs diff: Diffing tests/warnings
cvs diff: Diffing tools
cvs diff: Diffing trace
cvs diff: Diffing util
cvs diff: Diffing vim
cvs diff: Diffing vim/after
cvs diff: Diffing vim/ftplugin
cvs diff: Diffing vim/syntax
--------------------------------------------------------------------------
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