Hi, This PR redos [JDK-8377414](https://bugs.openjdk.org/browse/JDK-8377414). While at it, I encountered [JDK-8383416](https://bugs.openjdk.org/browse/JDK-8383416) when a `CastPPNode` is pushed through an unbuffered `InlineTypeNode`, which results in the oop input being `top`. This incorrectly kills the graph. I tried fixing JDK-8383416 alone but I encountered the issue with acmp expansion passing the incorrect base to `InlineTypeNode::check_substitutability`. As a result, this PR aims at fixing both issues.
It is easier reviewing each commit. The first one just reverts the backout PR, the second one ensures that the expansion does not modify the memory, and the third commit fixes JDK-8383416. Testing: - [x] tier1-4,valhalla-comp-stress Please take a look and leave your review, thanks a lot. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Only push a Cast through an InlineTypeNode if the InlineTypeNode is buffered - Fix acmp accidentally writes to memory - Revert "8377680: [lworld] [BACKOUT] Improve acmp expansion" Changes: https://git.openjdk.org/valhalla/pull/2376/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2376&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8381826 Stats: 645 lines in 9 files changed: 412 ins; 122 del; 111 mod Patch: https://git.openjdk.org/valhalla/pull/2376.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2376/head:pull/2376 PR: https://git.openjdk.org/valhalla/pull/2376
