[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