This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: extend cprop_hardreg into a global pass


>
> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]