RFR: 8264020: Optimize double negation elimination [v2]

Christian Hagedorn chagedorn at openjdk.java.net
Tue Mar 30 06:51:56 UTC 2021


On Tue, 30 Mar 2021 01:56:55 GMT, Eric Liu <github.com+10482586+theRealELiu at openjdk.org> wrote:

>> For the double negation '-(-x)', c2 could reduce the redundant 'sub'
>> through SubNode::Ideal. But every time when 'sub' is removed, there
>> would generate two useless nodes SubNode(x, 0)[1] and AddNode(x, -0)[2],
>> which would be removed by later phases but should have optimized better
>> to 'x' itself without generating those new stuffs.
>> 
>> This patch is a small fix for SubNode's Ideal, by leaving this special
>> case to 'Identity' which handled double negation already[3].
>> 
>> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/subnode.cpp#L238
>> [2] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/subnode.cpp#L181
>> [3] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/subnode.cpp#L55
>
> Eric Liu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   update code style
>   
>   Change-Id: I4c8f67f6277ded894af2572ff89b6b08f9187e11

Looks good!

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

Marked as reviewed by chagedorn (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3231


More information about the hotspot-compiler-dev mailing list