Moreover, LRA assignment does not refer to the assignment result of ira
directly.  In find_hard_regno_for, the value of hard_regno comes from
ira_class_hard_regs[rclass][i] with least cost.

On Tue, Dec 09, 2014 at 06:14:29PM +0800, lin zuojian wrote:
> Hi Kugan,
>     I have read these pdfs. My question is LRA will change the insns, so
>     why brother do the coloring so early. Changing the insns can
>     generates new pseudo registers, so they needs to re-assign. Is that
>     correct?
> --
> Thanks Kugan
> 
> On Tue, Dec 09, 2014 at 09:08:46PM +1100, Kugan wrote:
> > On 09/12/14 20:37, lin zuojian wrote:
> > > Hi,
> > >     I have read ira/lra code for a while, but still fails to understand
> > >     their relationship. The main question is why ira do color so early?
> > >     lra pass will do the assignment anyway. Sorry if I mess up coloring
> > >     and hard register assignment, but I think it's better to get job
> > >     done after lra elimiation, inheriation, ...
> > 
> > 
> > IRA does the register allocation and LRA matches insn constraints.
> > Therefore IRA has to do the coloring. LRA, in the process matching
> > constraints may change some of these assignment. Please look at the
> > following links for more info.
> > 
> > https://ols.fedoraproject.org/GCC/Reprints-2007/makarov-reprint.pdf
> > https://gcc.gnu.org/wiki/cauldron2012?action=AttachFile&do=get&target=Local_Register_Allocator_Project_Detail.pdf
> > 
> > 
> > Thanks,
> > Kugan
> > 

Reply via email to