[m-rev.] For review: Ignore dummy types in the IL backend

Julien Fischer juliensf at csse.unimelb.edu.au
Tue Sep 26 15:39:27 AEST 2006


On Mon, 18 Sep 2006, Jonathan Morgan wrote:

> The below patch fixes most of the problems with the IL backend and
> dummy types, by simply not recognising them.  I suspect that a better
> fix would be to modify type_needs_lowlevel_rep to force dummy
> variables to use a low-level representation, but that would require
> more information than is currently passed into type_needs_lowlevel_rep
> (eg. a module_info), and I'm not convinced that adding that
> information is the right step (or even possible in all the places it
> is called from).  Alternatively, it would be better to only disable
> dummy var recognition in places where it causes type conflicts, rather
> than everywhere.
>
> Note that this patch does not seem to have completely disabled the
> recognition of dummy types - io.write() fails because it tries to call
> an op_table method with an op_table, when the method has optimised the
> op_table away.

This is not the correct fix as it completely disables the optimization
of dummy types (which is not what we want.) and AFAIK is actually working
correctly in most instances on the IL backend.  The problem looks like
it is mlds_to_il.m's handling of dummy types - I suspect that mlds_to_il.m
wasn't updated correctly when the last lot of changes to dummy types were
made.

Julien.


--------------------------------------------------------------------------
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