At least the following tests fail with JVM args "-XX:-TieredCompilation -XX:VerifyIterativeGVN=1110 -XX:+UnlockDiagnosticVMOptions -XX:+StressIncrementalInlining" with "Missed Ideal optimization" for ConvF2HF:
- compiler/floatingpoint/TestSubNodeFloatDoubleNegation.java
- compiler/igvn/TestMinMaxIdentity.java
- compiler/c2/aarch64/TestFloat16Replicate.java
- compiler/intrinsics/float16/TestFloat16MaxMinSpecialValues.java
- compiler/c2/irTests/MulHFNodeIdealizationTests.java
Example error output for compiler/c2/aarch64/TestFloat16Replicate.java:
Missed Ideal optimization (can_reshape=false):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 419 AddF === _ 546 418 [[ 455 478 ]] !jvms: Float16::add @ bci:8 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 478 ConvF2HF === _ 419 [[ 488 506 ]] #short !jvms: Float16::valueOf @ bci:5 (line 364) Float16::add @ bci:9 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
The result after Ideal:
dist dump
---------------------------------------------
1 549 AddHF === _ 547 548 [[ 550 ]] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 550 ReinterpretHF2S === _ 549 [[ ]] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
Missed Ideal optimization (can_reshape=true):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 419 AddF === _ 546 418 [[ 455 478 ]] !jvms: Float16::add @ bci:8 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 478 ConvF2HF === _ 419 [[ 488 506 ]] #short !jvms: Float16::valueOf @ bci:5 (line 364) Float16::add @ bci:9 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
The result after Ideal:
dist dump
---------------------------------------------
1 549 AddHF === _ 547 548 [[ 550 553 ]] !orig=[552] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 553 ReinterpretHF2S === _ 549 [[ ]] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/share/opto/phaseX.cpp:1117), pid=3238193, tid=3238233
# assert(!failure) failed: Missed optimization opportunity/broken graph in PhaseIterGVN
#
# JRE version: Java(TM) SE Runtime Environment (27.0+6) (fastdebug build 27-ea+6-453)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-ea+6-453, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x15f1830] PhaseIterGVN::verify_optimize()+0xc70
- compiler/floatingpoint/TestSubNodeFloatDoubleNegation.java
- compiler/igvn/TestMinMaxIdentity.java
- compiler/c2/aarch64/TestFloat16Replicate.java
- compiler/intrinsics/float16/TestFloat16MaxMinSpecialValues.java
- compiler/c2/irTests/MulHFNodeIdealizationTests.java
Example error output for compiler/c2/aarch64/TestFloat16Replicate.java:
Missed Ideal optimization (can_reshape=false):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 419 AddF === _ 546 418 [[ 455 478 ]] !jvms: Float16::add @ bci:8 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 478 ConvF2HF === _ 419 [[ 488 506 ]] #short !jvms: Float16::valueOf @ bci:5 (line 364) Float16::add @ bci:9 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
The result after Ideal:
dist dump
---------------------------------------------
1 549 AddHF === _ 547 548 [[ 550 ]] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 550 ReinterpretHF2S === _ 549 [[ ]] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
Missed Ideal optimization (can_reshape=true):
The node was replaced by Ideal.
Old node:
dist dump
---------------------------------------------
1 419 AddF === _ 546 418 [[ 455 478 ]] !jvms: Float16::add @ bci:8 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 478 ConvF2HF === _ 419 [[ 488 506 ]] #short !jvms: Float16::valueOf @ bci:5 (line 364) Float16::add @ bci:9 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
The result after Ideal:
dist dump
---------------------------------------------
1 549 AddHF === _ 547 548 [[ 550 553 ]] !orig=[552] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
0 553 ReinterpretHF2S === _ 549 [[ ]] !jvms: Float16::add @ bci:1 (line 1165) TestFloat16Replicate::TestFloat16AddOutOfRange @ bci:24 (line 126)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (src/hotspot/share/opto/phaseX.cpp:1117), pid=3238193, tid=3238233
# assert(!failure) failed: Missed optimization opportunity/broken graph in PhaseIterGVN
#
# JRE version: Java(TM) SE Runtime Environment (27.0+6) (fastdebug build 27-ea+6-453)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-ea+6-453, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x15f1830] PhaseIterGVN::verify_optimize()+0xc70
- duplicates
-
JDK-8375633 C2: Missed Ideal optimization opportunity with ConvD2F/ConvF2HF and -XX:+StressIncrementalInlining
-
- Open
-
- relates to
-
JDK-8375688 C2: Missed Ideal optimization opportunity with VectorMaskToLong and -XX:+StressIncrementalInlining
-
- New
-
-
JDK-8375633 C2: Missed Ideal optimization opportunity with ConvD2F/ConvF2HF and -XX:+StressIncrementalInlining
-
- Open
-
-
JDK-8319879 Stress mode to randomize incremental inlining decision
-
- Resolved
-