[m-rev.] diff: Changes to make implicit parallelism easier to test.

Paul Bone pbone at csse.unimelb.edu.au
Sat Oct 9 12:26:24 AEDT 2010


Changes that make implicit parallelism easier to test.

compiler/implicit_parallelism.m
    The implicit parallelism transformation emits a warning if it cannot match
    feedback data to the program being compiled.  With the default
    --halt-at-warn this aborts compilation which is impractical since the user
    cannot easily control the compiler's ability to honour the feedback data.
    For example, the internal representation of the program may be different in
    for profiling builds compared to release builds, even with similar
    compilation options.
    
    Therefore this warning is now informational and it does not cause
    compilation to abort.

tools/speedtest:
    Add a new command line option -1.  This causes the speedtest script to run
    the compiler against a single module only (typecheck.m).  This is useful
    for generating representative Deep.data files for automatic
    parallelisation.

Index: compiler/implicit_parallelism.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/implicit_parallelism.m,v
retrieving revision 1.21
diff -u -p -b -r1.21 implicit_parallelism.m
--- compiler/implicit_parallelism.m	24 Aug 2010 00:01:47 -0000	1.21
+++ compiler/implicit_parallelism.m	9 Oct 2010 01:24:12 -0000
@@ -426,7 +426,9 @@ report_failed_parallelisation(PredInfo, 
         words("Warning: could not auto-parallelise"), quote(GoalPath), 
         suffix(":"), words(Error)],
     pred_info_get_context(PredInfo, Context),
-    Spec = error_spec(severity_warning, phase_auto_parallelism,
+    % XXX Make this a warning or error if the user wants compilation to 
+    % abort.
+    Spec = error_spec(severity_informational, phase_auto_parallelism,
         [simple_msg(Context, [always(Peices)])]).
 
 :- func report_already_parallelised(pred_info) = error_spec.
Index: tools/speedtest
===================================================================
RCS file: /home/mercury1/repository/mercury/tools/speedtest,v
retrieving revision 1.21
diff -u -p -b -r1.21 speedtest
--- tools/speedtest	30 Jul 2010 05:16:26 -0000	1.21
+++ tools/speedtest	9 Oct 2010 01:24:12 -0000
@@ -2,8 +2,9 @@
 #
 # A program to test different versions of the compiler.
 
-usage="Usage: speedtest [-dhlstz] [-c cmd] [-nN] [-ON] [-fFILE] batchname"
+usage="Usage: speedtest [-dhstz] [-l | -1] [-c cmd] [-nN] [-ON] [-fFILE] batchname"
 
+single_modulelist="typecheck.m"
 short_modulelist="llds_out.m typecheck.m mercury_compile.m modules.m code_info.m polymorphism.m"
 long_modulelist="$short_modulelist options.m add_pragma.m simplify.m table_gen.m mlds_to_java.m mlds_to_il.m"
 
@@ -41,6 +42,9 @@ do
 	-l)
 		modulelist="$long_modulelist" ;;
 
+	-1)
+		modulelist="$single_modulelist" ;;
+
 	-n)
 		limit="$2" ; shift ;;
 	-n*)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20101009/adf194b2/attachment.sig>


More information about the reviews mailing list