On Fri, 20 Mar 2026 06:01:27 GMT, Eric Fang <[email protected]> wrote:

>> Eric Fang has updated the pull request with a new target base due to a merge 
>> or a rebase. The pull request now contains 19 commits:
>> 
>>  - Rebase and fix the merge conflicts
>>  - Merge branch 'master' into JDK-8370863-mask-cast-opt
>>  - Remove the force inline helper functions in 
>> VectorStoreMaskIdentityTest.java
>>  - Improve the code comment and tests
>>  - Merge branch 'master' into JDK-8370863-mask-cast-opt
>>  - Refine the JTReg tests
>>  - Add clearer comments to VectorMaskCastIdentityTest.java
>>  - Update copyright year to 2026
>>  - Merge branch 'master' into JDK-8370863-mask-cast-opt
>>  - Convert the check condition for vector length into an assertion
>>    
>>    Also refined the tests.
>>  - ... and 9 more: https://git.openjdk.org/jdk/compare/abb9c33c...34a89711
>
> The prototype 
> https://github.com/erifan/jdk/pull/new/JDK-8380424-miss-identity-opt
> 
> Hi @eme64, the code for adding all nodes to the IGVN worklist is here. I 
> personally think it's better to handle this issue separately, so I've 
> separated it from this PR for now. If you think combining them would be more 
> appropriate, I'd be happy to add the relevant changes to this PR.
> 
> To be honest, the above changes don't fundamentally solve this Ideal/Identity 
> missing problem; they only address it at this point (boxing elimination). Of 
> course, given the special nature of the VectorAPI (which is greatly impacted 
> by inlining and boxing), I think this approach is reasonable.
> 
> And I'm also considering whether there is a more thorough solution, such as 
> adding all nodes to the worklist and performing a full IGVN run in 
> `PhaseRemoveUseLess`. Of course, the most important thing here is how to 
> balance compilation time and performance.

@erifan Yes, please do it separately, probably before this PR, right?

Right, there are two parts to this - they can be separate tasks:
- After boxing elimination, we should make sure that all vector nodes (better 
all nodes) are put on the worklist. This has some cost, but I think it is 
acceptable. We could also make this conditional: only do it if you find any 
vectors in the graph.
- We need to improve notification during IGVN, so that IGVN optimizations that 
traverse more than a single hop always get triggered. We can verify that with 
`VerifyIterativeGVN`.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28313#issuecomment-4096087917

Reply via email to