[m-dev.] for review: fix intermodule optimization bugs

Warwick Harvey wharvey at cs.monash.edu.au
Fri Nov 12 16:53:00 AEDT 1999


Fergus wrote:
> On 12-Nov-1999, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> > 
> > 
> > Estimated hours taken: 2
> > 
> > Fix two bugs in intermodule optimization reported by Warwick Harvey.
> > 
> > compiler/intermod.m:
> > 	Don't read `.opt' files for nested modules.
> 
> Ouch.

Indeed!  We HAL developers tend to rely heavily on the intermodule 
optimisations (among others) that Mercury does to avoid what would otherwise 
be significant interface overheads (we have a fairly standard catchcry here, 
`..., but Mercury should optimise that away').

Our current two arithmetic solvers use nested submodules in their Mercury 
interface, and performing intermodule optimisation on these modules provides 
a substantial reduction in the overhead of that interface.  Our current 
work-around is to export a type concretely that should be abstract, just so 
this intermodule optimisation works.  We'd prefer it if you didn't just 
switch it off.  (If you like, I withdraw my bug report ;-).

Yes, we're working on an alternative interface to the solvers, which won't 
use nested submodules (it has no need), but it's not finished yet, and we 
don't know whether it will be better or worse (by speed or other criteria) 
than the existing one.

> That is fine as a work-around for the coming release,
> but it would be nice if we could find a solution
> (rather than a work-around) for that problem.

We think so.  :-)

Warwick

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