[lworld] Integrated: 8266086: [lworld][lw3] C1 produces incorrect code when GlobalValueNumbering is used

Frederic Parain fparain at openjdk.java.net
Thu Apr 29 14:27:11 UTC 2021


On Wed, 28 Apr 2021 18:28:38 GMT, Frederic Parain <fparain at openjdk.org> wrote:

> Please review this fix in C1 GlobalValueNumbering.
> The problem is that C1 doesn't track that a flattened field has been updated when it writes the individual values of this flattened field. The proposed fix is to record the enclosing flattened field with the StoreField node of each individual field, and use this information when the GlobalValueNumbering processes those nodes to kill the flattened field in the ValueMap.
> 
> Tested locally (Linux 64) with hotspot_valhalla (including new unit test) and jdk_valhalla test suites.
> 
> Thank you,
> 
> Fred

This pull request has now been integrated.

Changeset: a7ab3bb2
Author:    Frederic Parain <fparain at openjdk.org>
URL:       https://git.openjdk.java.net/valhalla/commit/a7ab3bb259501864500e5648b5a44c740e800ef0
Stats:     85 lines in 6 files changed: 79 ins; 0 del; 6 mod

8266086: [lworld][lw3] C1 produces incorrect code when GlobalValueNumbering is used

Reviewed-by: thartmann

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

PR: https://git.openjdk.java.net/valhalla/pull/395



More information about the valhalla-dev mailing list