RFC: extend cprop_hardreg into a global pass

Bin.Cheng amker.cheng@gmail.com
Wed Aug 1 03:03:00 GMT 2012

>> 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.
> If two allocnos have the same value, why can't IRA coalesce them?
I don't know IRA very well,by guessing, IRA does not know that the two
allocnos have same value, and they ARE conflict with each other, this
is reflected in build_conflicts. After conflict is built, there is no
chance to coalesce.

> And why isn't this overlap copy-propped out before IRA?
Because the move insn is generated in cse2 pass and there is no copy
prop pass from cse2 to ira.

Best Regards.

More information about the Gcc mailing list