RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v2]

Nils Eliasson neliasso at openjdk.java.net
Mon May 31 09:40:25 UTC 2021


On Fri, 28 May 2021 07:32:26 GMT, Wang Huang <whuang at openjdk.org> wrote:

>> Reason: 
>> 
>> 
>> operand pRegGov()
>> %{
>>   constraint(ALLOC_IN_RC(gov_pr));
>>   match(RegVectMask);
>>   op_cost(0);
>>   format %{ %}
>>   interface(REG_INTER);
>> %}
>> 
>> if `pRegGov` is used as a `TEMP`, like :
>> 
>> 
>> instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr)
>> %{
>>   predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 &&
>>             n->bottom_type()->is_vect()->element_basic_type() == T_BYTE);
>>   match(Set dst (VectorInsert (Binary src val) idx));
>>   effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here
>> 
>> 
>> It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`.
>> 
>> We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`.
>> 
>> Although now we can only reproduce this bug on AArch64,  it should be added for all platforms with predicate support.
>
> Wang Huang has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR.

When changing hotspot code - please don't integrate until you have two reviews, and at least 24h have past since the PR was published.

Change looks good. Approved.

-------------

Marked as reviewed by neliasso (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/4239


More information about the hotspot-compiler-dev mailing list