[m-rev.] for post-commit review: monomorphize some folds

Zoltan Somogyi zoltan.somogyi at runbox.com
Fri Dec 2 19:22:38 AEDT 2022



On Fri, 2 Dec 2022 18:59:22 +1100, Peter Wang <novalazy at gmail.com> wrote:

> On Fri, 02 Dec 2022 18:45:05 +1100 "Zoltan Somogyi" <zoltan.somogyi at runbox.com> wrote:
> > 
> > 
> > On Fri, 2 Dec 2022 18:40:18 +1100, Peter Wang <novalazy at gmail.com> wrote:
> > > Actually it broke parallel building of interface and .opt files.
> > 
> > What exactly do you mean by that? I bootchecked that diff
> > with -O5 --intermodule-optimization.
> 
> When building a program with mmc --make -jN
> interface files and .opt files are being made one at a time,
> not in parallel.

I see. The culprit must be the change chunk starting at line 626
of DIFF.mono, which replaced this

-        foldl2_maybe_stop_at_error(KeepGoing,
-            foldl2_maybe_stop_at_error_maybe_parallel(KeepGoing,
-                make_module_target),
-            Globals, [Int1s, Opts], Succeeded, !Info, !IO)

with two sequential folds, one over Int1s, and one over Opts.
These should both be parallel folds. I am bootchecking that fix now.

Zoltan.




More information about the reviews mailing list