RFR: 8303804: Fix some errors of If-VectorTest and CMove-VectorTest
Quan Anh Mai
qamai at openjdk.org
Wed Mar 8 14:44:00 UTC 2023
On Wed, 8 Mar 2023 03:52:33 GMT, Wang Haomin <wanghaomin at openjdk.org> wrote:
> After https://bugs.openjdk.org/browse/JDK-8292289 , the base class of VectorTestNode changed from Node to CmpNode. So I add two match rule into ad file.
>
> match(If cop (VectorTest op1 op2));
> match(Set dst (CMoveI (Binary cop (VectorTest op1 op2)) (Binary src1 src2)));
>
> First error, rule1 shouldn't generate the statement "node->_bottom_type = _leaf->bottom_type();".
> Second error, both rule1 and rule2 need to use VectorTestNode, the VectorTestNode should be cloned like CmpNode.
Looks good to me with a small suggestion. Thanks a lot.
src/hotspot/share/adlc/output_c.cpp line 3989:
> 3987: if (inst->captures_bottom_type(_globalNames)) {
> 3988: if (strncmp("MachCall", inst->mach_base_class(_globalNames), strlen("MachCall"))
> 3989: && strncmp("MachIf", inst->mach_base_class(_globalNames), strlen("MachIf"))) {
Maybe explicitly compare the results with 0 here for consistency with other usage of `strcmp`
-------------
Marked as reviewed by qamai (Committer).
PR: https://git.openjdk.org/jdk/pull/12917
More information about the hotspot-compiler-dev
mailing list