[m-dev.] Freeze the compiler

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Nov 10 17:17:15 AEDT 2000


On 09-Nov-2000, Peter Ross <peter.ross at miscrit.be> wrote:
> I think it is time to freeze the compiler for the next release.

OK, at very least the time for anyone who has features that they want
to go in the next release to name them -- speak now or forever hold
your peace ;-).

My personal pet feature is tag switch optimization for the MLDS back-end.
This is the only major optimization missing from the MLDS back-end.
Once that is done, we can do fair performance comparisons between
the two back-ends.

One thing we should do for the next release is to make sure that it
passes its test cases on all of our test systems.  Currently it is
doing that for all of them except taifun, which is failing several
tests.  Pete, feel free to investigate all of these.

1. general/accumulators.

The symptom is the following:

** the tests in the general/accumulator directory failed
** as some predicates didn't have accumulators introduced
mmakeopts= EXTRA_MCFLAGS='-O1 --opt-space' EXTRA_MGNUCFLAGS=''
	EXTRA_CFLAGS='' EXTRA_MLFLAGS='' GRADE=asm_fast.gc
the predicates are:
--- INTRODUCED  Thu Jun 29 01:37:11 2000
+++ I.26123     Thu Nov  9 20:32:18 2000
@@ -1,12 +1,8 @@
	% mode  0 `base:AccFrom__pred__p/4' (det):
-       % mode  0 `call_in_base:AccFrom__pred__l/4' (det):
	% mode  0 `chain:AccFrom__pred__pa/4' (det):
	% mode  0 `construct:AccFrom__pred__p2/5' (det):
-       % mode  0 `dcg:AccFrom__pred__p/7' (det):
	% mode  0 `disj:AccFrom__pred__p/3' (multi):
	% mode  0 `func:AccFrom__func__sumlist/2' (det):
	% mode  0 `identity:AccFrom__pred__r/4' (det):
-       % mode  0 `inter:AccFrom__pred__rl/6' (det):
	% mode  0 `ite:AccFrom__func__factorial/2' (det):
	% mode  0 `ite:AccFrom__pred__sort_of_factorial/3' (det):
-       % mode  0 `swap:AccFrom__pred__rev/4' (det):

This one too may be caused by `-O1 --opt-space'.

2. debugger/queens

The goal path for `stack -d' doesn't match.
This is probably caused by `-O1 --opt-space',
and so is really a problem in the test case.

the differences are:
*** queens.exp  Sat Oct 14 01:33:22 2000
--- queens.out  Thu Nov  9 21:48:10 2000
***************
*** 123,131 ****
     5       pred queens:main/2-0 (cc_multi) (queens.m:15)
  mdb> stack -d
     0      20      10    6 pred queens:qperm/2-0 (nondet) (queens.m:45) (empty)
!    1      15       8    5 pred queens:qperm/2-0 (nondet) (queens.m:49) s1;c2;
!    2      10       6    4 pred queens:qperm/2-0 (nondet) (queens.m:49) s1;c2;
!    3       5       4    3 pred queens:qperm/2-0 (nondet) (queens.m:49) s1;c2;
     4       4       3    2 pred queens:queen/2-0 (nondet) (queens.m:42) c2;
     5       1       1    1 pred queens:main/2-0 (cc_multi) (queens.m:15) ?;c2;q!;
  mdb> print *
--- 123,131 ----
     5       pred queens:main/2-0 (cc_multi) (queens.m:15)
  mdb> stack -d
     0      20      10    6 pred queens:qperm/2-0 (nondet) (queens.m:45) (empty)
!    1      15       8    5 pred queens:qperm/2-0 (nondet) (queens.m:49) s1;c4;
!    2      10       6    4 pred queens:qperm/2-0 (nondet) (queens.m:49) s1;c4;
!    3       5       4    3 pred queens:qperm/2-0 (nondet) (queens.m:49) s1;c4;
     4       4       3    2 pred queens:queen/2-0 (nondet) (queens.m:42) c2;
     5       1       1    1 pred queens:main/2-0 (cc_multi) (queens.m:15) ?;c2;q!;

Someone should verify that both of these outputs are valid.
If so, the test case should be modified so that it doesn't fail.

3. valid/agc*:

Again this is caused by `-O1 --opt-space'.
It fails on Linux too.  The symptom is as follows:

fjh$ mmc -O1 --opt-space -c agc_ho_pred.m --gc accurate
Uncaught exception:
Software Error: var_locn__clobber_lval_in_var_state_map: empty state
Stack dump not available in this grade.

At a guess this may be because the new code generator is detecting
some invalid HLDS generated by some earlier phase of the compiler.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
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