[PATCH 01/10] Fix IRA ICE.

Jeff Law law@redhat.com
Sat Dec 8 16:23:00 GMT 2018


On 12/8/18 5:14 AM, Richard Sandiford wrote:
> Andrew Stubbs <ams@codesourcery.com> writes:
>> On 21/11/2018 00:47, Jeff Law wrote:
>>> This seems like a really gross hack and sets an expectation that
>>> generating registers in the target after IRA has started is OK.  It is
>>> not OK.  THe fact that this works is, IMHO, likely an accident.
>>
>> What's the proper test for this? Neither lra_in_progress nor 
>> reload_in_progress is set here, and can_create_pseudos returns true.
>>
>> The patterns have the ability to not generate registers, but they don't 
>> know not to.
>>
>> Richard Sandiford has stated that it should be OK, but perhaps the other 
>> architectures also work by accident?
> 
> Yeah, my understanding was that targets could create new registers here,
> and I thought targets did in some situations.  But that's also why I'm
> suspicious of the patch.  If GCN is doing something valid and IRA isn't
> coping, then the patch seems to be fixing the problem in the wrong place.
IRA/LRA can create new pseudos internally.  What I'm much less sure
about is whether or not the target can create them.  WHen IRA/LRA
creates one internally it has the chance to update the various internal
structures it needs.  That can't happen with a pseudo created by the
target this late.  Vlad would know for sure.

jeff



More information about the Gcc-patches mailing list