[m-dev.] grades for MLDS back-end

Fergus Henderson fjh at cs.mu.OZ.AU
Mon Dec 6 19:47:21 AEDT 1999


Hi,

I need to introduce some new options and grades for the MLDS back-end.
I was thinking of naming them as follows:

	option			meaning
	------			-------
	--high-level-code	use MLDS back-end rather than LLDS back-end
	--high-level-data	use a high-level data representation
				(not yet implemented)

	--high-level		same as --high-level-code --high-level-data

	--gcc-nested-functions	don't run the MLDS pass to hoist out nested functions
				(resulting code is slower, but perhaps easier
				to understand)

	grade		options
	-----		-------
	hl		--high-level-code --high-level-data
	hlc		--high-level-code
	hl_nest		--high-level-code --gcc-nested-functions
	hlc_nest	--high-level-code --high-level-data --gcc-nested-functions

The new grades would be mutually exclusive with the existing
grades asm_fast, asm_jump, fast, jump, reg, and none.

Note that the --gcc-nested-functions only makes sense with --high-level-code.
Also in the forseeable future --high-level-data won't work without --high-level-code.

(The --high-level-data option is currently not implemented.
I plan to implement it eventually, but only for the MLDS back-end.
in theory it would be possible to implement it for the LLDS back-end
too, so that --high-level-data would work without --high-level-code,
but it would most likely require so many changes to the existing 
LLDS back-end that it is not worth the effort.)

Anyway, does that plan sound OK?

One alternative option is to make `nest' a separate grade component,
rather than part of the `hl_nest' and `hlc_nest' grades.
so that you would write e.g. `hl.nest'.
On the other hand, it is not really orthogonal; `nest' doesn't
make sense with the existing grades such as `asm_fast'.

Comments?

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