[aarch64-port-dev ] RFR: 8172881: AArch64: assertion failure: the int pressure is incorrect
Ningsheng Jian
ningsheng.jian at linaro.org
Mon Jan 23 10:41:45 UTC 2017
On 23 January 2017 at 18:13, Andrew Haley <aph at redhat.com> wrote:
> On 23/01/17 09:02, Ningsheng Jian wrote:
>> Hi Andrew,
>>
>> On 22 January 2017 at 18:14, Andrew Haley <aph at redhat.com> wrote:
>>> On 22/01/17 08:53, Ningsheng Jian wrote:
>>>> http://cr.openjdk.java.net/~njian/8172881/webrev.00/
>>>>
>>>> Could you please help to review it? It passed jtreg tests.
>>>
>>> I don't understand why this patch works. Do you?
>>
>> I am also trying to understand why. At least this patch corrects the
>> invalid reg class usage.
>>
>> From my debugging, without the patch the get_and_setI gets the special
>> reg R27. And seems that int_pressure is calculated before get_and_setI
>> node's LRG regmask changes in
>> PhaseChaitin::remove_bound_register_from_interfering_live_ranges. But
>> I am not familiar with related code. I have tried to reduce the test
>> case to http://cr.openjdk.java.net/~njian/8172881/test/test.tar.gz. It
>> should be easier to reproduce this issue. Could you please have a try?
>
> I think it would be safest at this stage to change both arguments to
> iRegLNoSp. Please try that. It doesn't make any sense for either
> argument to be in a special-purpose register.
The newv is not a def. I think the node which defines it should have
already taken care of it. But yes, both regs should be non-special
registers. I agree it would be safer to mark them both as non special
purpose registers.
> Andrew.
>
More information about the aarch64-port-dev
mailing list