RFR: 8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed

Vladimir Kozlov kvn at openjdk.java.net
Thu Oct 28 20:19:14 UTC 2021


On Thu, 28 Oct 2021 19:24:43 GMT, Igor Veresov <iveresov at openjdk.org> wrote:

> We need to handle the case when the allocation input to `VectorBoxNode` is a phi but the vector input is not, which can definitely be the case if the vector input has been value-numbered. It seems to be safe to do by construction because `VectorBoxNode` and `VectorBoxAllocation` come in a specific order as a result of expanding an intrinsic call. After that, if any of the inputs to VectorBoxNode are value-numbered they can only move up and are guaranteed to dominate.

Seems fine.

src/hotspot/share/opto/vector.cpp line 318:

> 316:     new_phi = C->initial_gvn()->transform(new_phi);
> 317:     return new_phi;
> 318:   } else if (vbox->is_Phi() && (vect->is_Vector() || vect->is_LoadVector())) {

Please, add comment explaining this case.

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

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


More information about the hotspot-compiler-dev mailing list