RFR: 8264954: unified handling for VectorMask object re-materialization during de-optimization [v2]
Jatin Bhateja
jbhateja at openjdk.java.net
Mon Apr 12 08:21:42 UTC 2021
On Fri, 9 Apr 2021 19:12:27 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8264954: Review comments resolution.
>
> src/hotspot/share/opto/vector.cpp line 270:
>
>> 268: bool is_mask = is_vector_mask(iklass);
>> 269: if (is_mask) {
>> 270: if (vec_value->Opcode() != Op_VectorStoreMask) {
>
> It's better to do the check against the type of `vec_value`: `VectorStoreMask` produces a vector of booleans and you can guard `gvn.transform(VectorStoreMaskNode::make(...))` call with `bt != T_BOOLEAN` check instead.
In addition to bt != T_BOOLEAN check, we also need to check if type is a vectormask (explicit type added for mask generating nodes on targets supporting predicate registers).
A similar check needs to be added at following location
https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/vector.cpp#L329
Keeping this as it is i.e. an Opcode based check.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3408
More information about the hotspot-compiler-dev
mailing list