RFR: 8303804: Fix some errors of If-VectorTest and CMove-VectorTest [v2]
Tobias Hartmann
thartmann at openjdk.org
Mon Mar 20 08:29:23 UTC 2023
On Thu, 9 Mar 2023 01:19:40 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.
>
> Wang Haomin has updated the pull request incrementally with one additional commit since the last revision:
>
> compare the results with 0
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")) != 0
> 3989: && strncmp("MachIf", inst->mach_base_class(_globalNames), strlen("MachIf")) != 0) {
Could you please explain this change, and how it relates to JDK-8292289, in more detail?
-------------
PR: https://git.openjdk.org/jdk/pull/12917
More information about the hotspot-compiler-dev
mailing list