[lworld+vector] RFR: 8304310: Initial compilers and runtime handling for multifield backed vectors. [v15]
Jatin Bhateja
jbhateja at openjdk.org
Fri May 12 09:34:18 UTC 2023
On Fri, 12 May 2023 06:46:27 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Review comments resolutions.
>
> src/hotspot/share/opto/cfgnode.cpp line 2718:
>
>> 2716: new_box_node->as_InlineType()->set_field_value(0, payload_value);
>> 2717: new_box_node = igvn->transform(new_box_node);
>> 2718: return new_box_node;
>
> Suggestion:
>
>
> const Type* ptype = cached_vbox->field_value(0)->bottom_type();
>
> Node* new_payload_phi = igvn->transform(clone_through_phi(root_phi, ptype, 3, igvn));
> Node* new_vector_phi = igvn->transform(clone_through_phi(new_payload_phi, vtype, 3, igvn));
> Node* new_vbox_phi = clone_through_phi(root_phi, btype, 1, igvn);
>
> return igvn->transform(VectorBoxNode::make_box_node(*igvn, phase->C, new_vbox_phi, new_vector_phi, btype, vtype));
>
>
> Another question: why `igvn->transform()` is used for the first two `clone_through_phi`, while not used for the last one?
We do not need upfront transformation, new node is registered with GVN within _clone_through_phi_.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1192136554
More information about the valhalla-dev
mailing list