https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103246
--- Comment #16 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Building with LTO only ecpder.fppized.o and ecplib.fppized.o I get the failure going away with --dbg-cnt=ipa_cp_values:10 and :9 works. Different ipa-cp decision is +***dbgcnt: upper limit 10 reached for ipa_cp_values.*** + - Creating a specialized node of formdr/4 for all known contexts. + replacing param #5 int & restrict with const &ecpidx.iamin + replacing param #6 int & restrict with const &ecpidx.iamax + Removed a reference from formii.constprop/284 to ecpidx/11. + ...and replaced it with LOAD one. + Removed a reference from ecp2d/1 to ecpidx/11. + Removed a reference from ecp1d/0 to ecpidx/11. + replacing param #9 logical(kind=4) & restrict with const &ecpidx.norm - forcing load reference In modref the propagation goes same way and we update signature as follows: +Updating summary for formdr.constprop/285 from: + loads: + Limits: 32 bases, 16 refs + Every base + stores: + Limits: 32 bases, 16 refs + Every base + Side effects + Nondeterministic + parm 0 flags: no_direct_clobber no_direct_escape no_indirect_escape + parm 1 flags: no_direct_clobber no_direct_escape no_indirect_escape + parm 2 flags: no_direct_escape no_indirect_escape + parm 3 flags: no_direct_escape no_indirect_escape + parm 4 flags: no_direct_escape no_indirect_escape + parm 5 flags: no_direct_clobber no_indirect_clobber no_direct_escape no_indirect_escape no_indirect_read + parm 6 flags: no_direct_clobber no_indirect_clobber no_direct_escape no_indirect_escape no_indirect_read + parm 7 flags: no_direct_clobber no_indirect_clobber no_direct_escape no_indirect_escape no_indirect_read + parm 8 flags: no_direct_clobber no_indirect_clobber no_direct_escape no_indirect_escape no_indirect_read + parm 9 flags: no_direct_clobber no_indirect_clobber no_direct_escape no_indirect_escape no_indirect_read +to: + loads: + Limits: 32 bases, 16 refs + Every base + stores: + Limits: 32 bases, 16 refs + Every base + Side effects + Nondeterministic + parm 0 flags: no_direct_clobber no_direct_escape no_indirect_escape + parm 1 flags: no_direct_clobber no_direct_escape no_indirect_escape + parm 2 flags: no_direct_escape no_indirect_escape + parm 3 flags: no_direct_escape no_indirect_escape + parm 4 flags: no_direct_escape no_indirect_escape + parm 5 flags: no_direct_clobber no_indirect_clobber no_direct_escape no_indirect_escape no_indirect_read + parm 6 flags: no_direct_clobber no_indirect_clobber no_direct_escape no_indirect_escape no_indirect_read this changes partitioning decisions which makes quite a lot of fuzz in latr dump files.