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