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 >