[m-rev.] for review: don't do constant propagation if no-allow-inlining

Julien Fischer juliensf at cs.mu.OZ.AU
Wed Mar 30 09:22:54 AEST 2005


On Sun, 27 Mar 2005, Ian MacLarty wrote:

> On Mon, Mar 14, 2005 at 09:16:24AM +1100, Julien Fischer wrote:
> >
> > Perhaps you should just add constant propagation to the list of things to
> > turn of when execution tracing is enabled (in
> > handle_options.post_process_options_2).
> >
>
> Then I should also remove the line:
>  	option_neg_implies(inline_builtins, constant_propagation, bool(no)),
> since if no-inline-builtins implies no constant_propagation, then so should
> no-allow-inlining.
>
> The fix we discussed with Zoltan isn't making sense to me anymore.  If I
> remember correctly the idea was to just turn off constant_propagation in the
> simplify module when no-allow-inlining was specified.  This, however, is
> exactly what is being done by my proposed diff.
>

I believe that solution we agreed on in that discussion (I'm not sure - it
was almost two weeks ago) was that the control we have over constant
propagation should be finer grained than it currently is in.  In
particular, it should be possible to turn off those evaluations that
will affect the execution trace, e.g. ++ for strings, but still perform
it for calls to unify or compare (or anything else that --inline-builtins
would affect).

Cheers,
Julien.

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