[m-dev.] making .trans_opt files in parallel

Peter Wang novalazy at gmail.com
Wed Dec 14 17:23:02 AEDT 2022


On Wed, 14 Dec 2022 13:00:55 +1100 Peter Wang <novalazy at gmail.com> wrote:
> On Tue, 13 Dec 2022 17:18:58 +1100 "Zoltan Somogyi" <zoltan.somogyi at runbox.com> wrote:
> 
> > scc 1: m1
> > scc 2: m2 m3
> > scc 3: m4
> > etc
> >
> > This implicitly specifies a dag. (The "scc N:" part is just my explanation;
> > it wouldn't be part of the file.) Unfortunately, the dag it specifies is not
> > suited for making .trans_opt files in parallel, your original goal.
> 
> The --generate-module-order option creates the same sort of file.
> I think it *would* be suited to making .trans_opt files in parallel
> actually, and would be easier to manage. You just need to break up large
> SCCs into smaller SCCs, and choose an ordering. Modules higher in the
> order can read from .trans_opt files lower in the order. I will look
> into it.

Ok, not really. If you have three modules in a cycle m1 m2 m3,
for parallelism you need to be able to express at least

    m1 -> m3
    m2 -> m3

but not m1 -> m2, and not m2 -> m1.

Peter


More information about the developers mailing list