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

Wang Huang whuang at openjdk.java.net
Fri May 28 07:32:26 UTC 2021


> 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. The pull request contains one new commit since the last revision:

  8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4239/files
  - new: https://git.openjdk.java.net/jdk/pull/4239/files/49269057..70694584

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4239&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4239&range=00-01

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4239.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4239/head:pull/4239

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


More information about the hotspot-compiler-dev mailing list