> > For the other PR you mentioned, that looks like a register allocation > regression, that should be addresses in IRA rather than in regcprop.
not sure whether this is a RA regression. Though the two pseudo-regs are connected by reg-move insn and contains same value afterward, the two live ranges(i.e. allocnos) are conflict with each other, thus IRA cannot allocate same hard register for them. Moreover, the case is compiled with Os, where GCC does RA in whole single region, so live range cannot be split. I also measured the effect of extending regcprop.c by sorting basic blocks in reverse post-order. Turns out the benefit is very small, because either the default order of iteration is nearly reverse post order, or the global propagation opportunities are along with loops. Thanks. -- Best Regards.