I propose transforming:

(InlineType .... (InlineType oop


where an `InlineType` references another `InlineType` node (maybe itself) 
through its `oop` input and with `Phi` or cast nodes in the subgraph in between 
into:


(InlineType .... oop

which requires cloning every cast or `Phi` nodes in the subgraph between the 2 
`InlineType` nodes. That prevent sinfinite invocation of 
`PhiNode::push_inline_types_through` and cleans up the graph.

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - more
 - more
 - cleanup
 - more
 - more
 - more
 - more
 - fix

Changes: https://git.openjdk.org/valhalla/pull/2316/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2316&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8302217
  Stats: 444 lines in 5 files changed: 329 ins; 76 del; 39 mod
  Patch: https://git.openjdk.org/valhalla/pull/2316.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2316/head:pull/2316

PR: https://git.openjdk.org/valhalla/pull/2316

Reply via email to