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


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


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