On 11/8/18 10:19 AM, Renlin Li wrote:
>> Yes, this is the problem.  We see from the dump, that r2040 does not 
>> conflict with
>> hard reg r1:
>>
>> ;; a2040(r1597,l0) conflicts: <list of pseudo regs>
>> ;;     total conflict hard regs:
>> ;;     conflict hard regs:
> I think you should look for axxx(r2040, ..)?
> 
> Maybe I am wrong (not an expert of RA), from what I observed, it is the LRA
> makes the code more complex. It decides to split the live range and spill 
> r2040.
> It creates multiple instructions to reload it.
> r2944 in LRA dump is the register which starts to go wrong. It is assigned as 
> r1.

Yes, IRA and LRA have similar code to compute conflicts.  We need them both to
compute that r2040 (and the reload pseudo(s) generated for it by LRA) conflict
with r1.

Peter




Reply via email to