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

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


> 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

Frederic Parain has updated the pull request incrementally with one additional commit since the last revision:

  Fixes after initial review

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

Changes:
  - all: https://git.openjdk.java.net/valhalla/pull/395/files
  - new: https://git.openjdk.java.net/valhalla/pull/395/files/c2ba4baf..a7eb39ae

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=395&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=395&range=00-01

  Stats: 37 lines in 2 files changed: 5 ins; 6 del; 26 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/395.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/395/head:pull/395

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


More information about the valhalla-dev mailing list