Hi, On Tue, Aug 11 2020, Gary Oblock via Gcc wrote: > For these two dump files: > > exe.ltrans0.ltrans.074i.cp > > and > > exe.ltrans0.ltrans.087i.structure-reorg > > doesn't the ".074i." mean that this dump was created > before the ".087i." dump? > > If so then why does the ".074i." show GIMPLE that was > created in the structure-reorg pass?
Honza will correct me if I am wrong but this is basically an unfortunate effect of allowing "simple" "late" IPA passes while simultaneously trying to achieve memory locality - i.e. after IPA we'd like to process one function at a time and only access that function in memory, as much as possible. Therefore, transformation phases of proper IPA passes are run just before the late normal intra-procedural on the same function. But late_ipa_passes are run before that, so that they have a chance to do their thing. Because they cannot do WPA, they are really considered second class citizens (that is at least my impression) and because they wreck havoc to memory locality, we'd like to have as few of them as possible - at least turned on by default. Consider this another incentive to eventually upgrade your passes to full IPA ones. Martin