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