On Thu, 5 Mar 2026 11:59:07 GMT, Emanuel Peter <[email protected]> wrote:

>> LGTM! Thanks for the update!
>
> Hmm, what do @XiaohongGong @jatin-bhateja @iwanowww think about this? Where 
> should we add the vector nodes to the worklist? What is the best design, so 
> we can ensure IGVN always performs all the optimizations, no matter the 
> inlining order?

Hi @eme64 @jatin-bhateja @iwanowww 

I’m currently facing a design choice in this PR. The PR run into a test failure 
and there are a couple of different ways to address the issue, and I’m not sure 
which direction would be preferable for the project. When you have a moment, 
could you please share your thoughts on which solution you think is more 
appropriate? Your guidance would be very helpful to move this PR forward.

The following solutions can all solve the test failure in this PR.
1. Add the use of `VectorMaskCastNode` to igvn worklist in the 
`PhaseRemoveUseless`, like 
[[1]](https://github.com/openjdk/jdk/pull/24674/changes/BASE..1b9c3b363fcc296956663249ef95d60a26a704d2#r2058061667).
 This is a special handling. We can remove this special handling in a follow up 
patch to address this general issue.
2. Add some kind of general fix to this issue in this PR.
2.1.  Add **all vector nodes** to the igvn worklist in **PhaseVector**, after 
box/unbox elimination. See my previous 
[explanation](https://github.com/openjdk/jdk/pull/24674/changes/BASE..1b9c3b363fcc296956663249ef95d60a26a704d2#issuecomment-4001928595)
 and 
[test](https://github.com/openjdk/jdk/pull/24674/changes/BASE..1b9c3b363fcc296956663249ef95d60a26a704d2#issuecomment-3996562890)
 on this.
2.2. Add **all nodes (the whole live nodes)** to the igvn worklist in 
**PhaseVector**, after box/unbox elimination. I expect the result to be not 
much different from 2.1.
3. Any other solution ?

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

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

Reply via email to