RFR: 8304230: LShift ideal transform assertion

Jasmine K. duke at openjdk.org
Wed Mar 15 18:31:17 UTC 2023


Hi,
This PR aims to address the assertion on arm32 where the special-case `add1->in(2) == in(2)` check fails, and it falls through to the regular cases. I'm not quite sure how this issue can manifest as AFAIK the GVN should allow the usage of `==` to check against constants that are equal. I've changed the check from node equality to constant equality to hopefully resolve this. I unfortunately cannot reproduce the behavior on x86, nor do I have access to arm32 hardware, so I would greatly appreciate reviews and help testing this change (cc @bulasevich). Thank you all in advance.

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

Commit messages:
 - Check for special case with constant instead of node

Changes: https://git.openjdk.org/jdk/pull/13049/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13049&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8304230
  Stats: 14 lines in 1 file changed: 6 ins; 6 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/13049.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/13049/head:pull/13049

PR: https://git.openjdk.org/jdk/pull/13049


More information about the hotspot-compiler-dev mailing list