RFR: 8263972: C2: LoadVector/StoreVector type mismatch in MemNode::can_see_stored_value()

Vladimir Ivanov vlivanov at openjdk.java.net
Mon Apr 26 20:24:01 UTC 2021

`MemNode::can_see_stored_value()` doesn't take type info for `LoadVector`/`StoreVector` into account.

Eliminating `LoadVector`/`StoreVector` pair in presence of a type mismatch leads to a broken graph (omitting vector cast nodes) and sometimes manifest as a broken generated code. 

The fix adds necessary checks for vector case. 

- [x] regression test
- [x] hs-tier1 - hs-tier4


Commit messages:
 - Whitespaces
 - Regression test
 - Fix

Changes: https://git.openjdk.java.net/jdk/pull/3698/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3698&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263972
  Stats: 82 lines in 2 files changed: 81 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3698.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3698/head:pull/3698

PR: https://git.openjdk.java.net/jdk/pull/3698

More information about the hotspot-compiler-dev mailing list