RFR: 8279947: Remove two redundant gvn.transform calls in Parse::do_one_bytecode()
Jie Fu
jiefu at openjdk.java.net
Thu Jan 13 23:25:28 UTC 2022
On Thu, 13 Jan 2022 18:18:30 GMT, Vladimir Kozlov <kvn 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.
Got it.
Thanks @vnkozlov for your kind explanation.
> > 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.
I will run `-XX:UseSSE=0 -XX:UseAVX=0` on Linux/x86_32 and feedback here.
Thanks.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7059
More information about the hotspot-compiler-dev
mailing list