[m-rev.] diff: fix a bug in loop invariant hoisting

Zoltan Somogyi zs at cs.mu.OZ.AU
Mon Sep 20 13:56:59 AEST 2004


On 20-Sep-2004, Julien Fischer <juliensf at cs.mu.OZ.AU> wrote:
> The bug was caused by the modes of the extra arguments in
> foreign procs not being considered.  The current fix
> is to just make any extra arguments non-hoistable.

That looks fine, but it begs the question of what loop invariant optimization
was doing with such goals in the first place. IIRC, all foreign_procs with
extra arguments are marked as impure or semipure, and so shouldn't be optimized
away by loop invariant optimization.

Zoltan.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list