RFR: 8279947: Remove two redundant gvn.transform calls in Parse::do_one_bytecode()
Vladimir Kozlov
kvn at openjdk.java.net
Thu Jan 13 18:21:26 UTC 2022
On Thu, 13 Jan 2022 06:23:55 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> But how precision_rounding() can be replaced with transform() ?
`precision_rounding()` calls `transform()` for 32-bit and SSE==0 (FPU):
https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/graphKit.cpp#L2363
JDK-4416902 fix excludes creating `RoundFloatNode` but left `transform()`. And that is why I said "it was not necessary" because, as you correctly pointed, there is already `transform()` call for `_l2f` bytecode.
I am simply trying to prove that your change to remove second `transform()` is correct.
> I tested the patch on Linux/x86_32, no regression.
You need to tests 32-bit with `-XX:UseSSE=0 -XX:UseAVX=0` to trigger this code path and code generation.
I will run our testing (64-bit only) as well.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7059
More information about the hotspot-compiler-dev
mailing list