Integrated: 8264020: Optimize double negation elimination
Eric Liu
github.com+10482586+therealeliu at openjdk.java.net
Tue Mar 30 10:01:48 UTC 2021
On Sun, 28 Mar 2021 01:36:56 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
This pull request has now been integrated.
Changeset: f3726a87
Author: Eric Liu <eric.c.liu at arm.com>
Committer: Ningsheng Jian <njian at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/f3726a87
Stats: 9 lines in 1 file changed: 2 ins; 0 del; 7 mod
8264020: Optimize double negation elimination
Reviewed-by: thartmann, chagedorn
-------------
PR: https://git.openjdk.java.net/jdk/pull/3231
More information about the hotspot-compiler-dev
mailing list