RFR: 8352635: Improve inferencing of Float16 operations with constant inputs [v8]
Emanuel Peter
epeter at openjdk.org
Fri Jun 20 13:38:31 UTC 2025
On Fri, 20 Jun 2025 11:18:35 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> @jatin-bhateja
>> I see one test failing that looks related:
>> `compiler/vectorization/TestFloat16VectorOperations.java`
>> The run was done with lots of stress flags, probably not all are relevant, and it may be intermittent.
>> `-XX:+UnlockDiagnosticVMOptions -XX:-TieredCompilation -XX:+StressArrayCopyMacroNode -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+StressMethodHandleLinkerInlining -XX:+StressCompiledExceptionHandlers -XX:VerifyConstraintCasts=1`
>>
>>
>> # Internal Error (.../src/hotspot/share/opto/type.hpp:2234), pid=2401514, tid=2401533
>> # assert(_base == FloatCon) failed: Not a Float
>>
>> ...
>>
>> Current CompileTask:
>> C2:1885 336 % b compiler.vectorization.TestFloat16VectorOperations::vectorAddFloat16 @ 2 (46 bytes)
>>
>> Stack: [0x00007ff300480000,0x00007ff300580000], sp=0x00007ff30057aed0, free space=1003k
>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
>> V [libjvm.so+0xc0358e] ConvF2HFNode::Ideal(PhaseGVN*, bool)+0x88e (type.hpp:2234)
>> V [libjvm.so+0x181809d] PhaseIterGVN::transform_old(Node*)+0xbd (phaseX.cpp:668)
>> V [libjvm.so+0x181c705] PhaseIterGVN::optimize()+0xc5 (phaseX.cpp:1054)
>> V [libjvm.so+0xb498f2] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x722 (loopnode.hpp:1268)
>> V [libjvm.so+0xb43630] Compile::Optimize()+0xb00 (compile.cpp:2468)
>> V [libjvm.so+0xb46943] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1f33 (compile.cpp:868)
>> V [libjvm.so+0x96bdd7] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x467 (c2compiler.cpp:141)
>> V [libjvm.so+0xb55d78] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb58 (compileBroker.cpp:2323)
>> V [libjvm.so+0xb56f48] CompileBroker::compiler_thread_loop()+0x578 (compileBroker.cpp:1967)
>> V [libjvm.so+0x10aa00b] JavaThread::thread_main_inner()+0x13b (javaThread.cpp:773)
>> V [libjvm.so+0x1b0e096] Thread::call_run()+0xb6 (thread.cpp:243)
>> V [libjvm.so+0x17893f8] thread_native_entry(Thread*)+0x128 (os_linux.cpp:868)
>
> Hi @eme64 , let me know if this looks good to land now.
@jatin-bhateja The code looks good to me! I'll run some testing before approving.
But someone else could already get started with a second review.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24179#issuecomment-2991682060
More information about the hotspot-compiler-dev
mailing list