[mercury-users] Optimisation of functions and field updates

Julien Fischer juliensf at csse.unimelb.edu.au
Tue Aug 8 15:46:16 AEST 2006


On Mon, 7 Aug 2006, Michael Day wrote:

> Say I have the following code:
>
> 	X = f1(f2(f3(f4(X0))))
>
> where
>
> 	f1(X) = X ^ field1 := blah.
> 	f2(X) = X ^ field2 := blah.
> 	...
>
> If the functions were inlined, then the multiple field updates could be
> combined into a single update, but it appears that this is not happening,
> as I get a speed boost when I replaced the function calls with explicit
> field updates, even at -O5.

It looks like the simplification passes after inlining aren't cleaning
up as well as they should.  I've just constructed a small example and
it seems to leave redundant assignments hanging around.  This seems
to be more of a problem in the MLDS backend.

Julien.

--------------------------------------------------------------------------
mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the users mailing list