[lworld] Integrated: 8336003: [lworld] TestLWorld::test151 triggers "Should have been buffered" assert

Quan Anh Mai qamai at openjdk.org
Wed Jul 2 07:45:55 UTC 2025


On Fri, 13 Jun 2025 22:53:32 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

> Hi,
> 
> The issue here is that the IGVN cannot deduce that the `IsBuffered` input is a constant 1. This is because after the `InlineTypeNode` is pushed down through a `Phi` cluster, the `IsBuffered` input is a `Phi` cluster with loop phis, which makes it difficult for the IGVN to see through. A solution is to do another round of CCP after loop opts, but it is rather a big hammer. In this PR, I propose to make it possible for a `PhiNode` to look through its `Phi` inputs to discover the unique non-phi input of a `Phi` cluster. The test still fails but it seems more like an expected behaviour rather than an issue this time, I have modified the test a little bit for it to pass.
> 
> Please take a look and share your thoughts, thanks very much.

This pull request has now been integrated.

Changeset: 01af2b48
Author:    Quan Anh Mai <qamai at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/01af2b48708ca67e8bd9bea74b78bed6e2c2a180
Stats:     45 lines in 3 files changed: 41 ins; 3 del; 1 mod

8336003: [lworld] TestLWorld::test151 triggers "Should have been buffered" assert

Reviewed-by: thartmann

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

PR: https://git.openjdk.org/valhalla/pull/1489


More information about the valhalla-dev mailing list