RFR: 8302814: Delete unused CountLoopEnd instruct with CmpX [v3]

Vladimir Kozlov kvn at openjdk.org
Thu Feb 23 18:33:05 UTC 2023


On Thu, 23 Feb 2023 09:34:38 GMT, SUN Guoyun <duke at openjdk.org> wrote:

>> CountLoopEnd only for T_int, therefore the following instructs in riscv.ad are useless and should be deleted.
>> 
>> CountedLoopEnd cmp (CmpL op1 op2)
>> CountedLoopEnd cmp (CmpU op1 op2)
>> CountedLoopEnd cmp (CmpP op1 op2)
>> CountedLoopEnd cmp (CmpN op1 op2)
>> CountedLoopEnd cmp (CmpF op1 op2)
>> CountedLoopEnd cmp (CmpD op1 op2)
>> 
>> and CountedLoopEnd with CmpU on x86*.ad, aarch64.ad ar useless also.
>> 
>> Please help review it.
>> 
>> Thanks.
>
> SUN Guoyun has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8302814: Delete unused CountLoopEnd instruct with CmpX

Also I think it is not correct to remove `CmpU` case. There are IGVN transformations which convert `CmpI` to `CmpU`:
https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/subnode.cpp#L1632

May be that is why next test failed in your GHA testing:
compiler/vectorization/runner/LoopRangeStrideTest.java

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

Changes requested by kvn (Reviewer).

PR: https://git.openjdk.org/jdk/pull/12648


More information about the hotspot-compiler-dev mailing list