[m-rev.] for post-commit review: speed up the compilation of large predicates

Julien Fischer juliensf at cs.mu.OZ.AU
Wed May 25 18:56:42 AEST 2005


On Wed, 25 May 2005, Zoltan Somogyi wrote:

> Index: compiler/modes.m
...
> @@ -832,13 +838,61 @@
>                  mode_info_set_context(BodyContext, !ModeInfo)
>              ),
>
> +            % Modecheck each clause of the procedure body separately.
>              (
...

> +                (
> +                    ClausesForm0 = clause_disj(Disjuncts1),
> +                    Disjuncts2 = flatten_disjs(Disjuncts1),
> +                    ( determinism_components(Detism, _, at_most_many) ->
> +                        mode_info_add_live_vars(NonLocals, !ModeInfo),
> +                        make_all_nondet_live_vars_mostly_uniq(!ModeInfo),
> +                        mode_info_remove_live_vars(NonLocals, !ModeInfo)
> +                    ;
> +                        true
> +                    ),
> +                    list__map_foldl2(
> +                        unique_modecheck_clause_disj(HeadVars, InstMap0,
> +                            ArgFinalInsts0, Detism, NonLocals,
> +                            NondetLiveVars0),
> +                        Disjuncts2, Disjuncts, !ModeInfo, !IO),
> +                    NewGoalExpr = disj(Disjuncts)
> +                ;
> +                    ClausesForm0 = clause_switch(SwitchVar, CanFail, Cases1),
> +                    list__map_foldl2(
> +                        unique_modecheck_clause_switch(HeadVars, InstMap0,
> +                            ArgFinalInsts0, SwitchVar),
> +                        Cases1, Cases, !ModeInfo, !IO),
> +                    NewGoalExpr = switch(SwitchVar, CanFail, Cases)
> +                )
> +                % error("do_modecheck_proc: unexpected check_unique_modes")

Is there a reason that this commented out call to error is here, or did
you just forget to delete it?

The rest looks ok.

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