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

Thanks.
-- 
Best Regards.

Reply via email to