RFR: 8269820: C2 PhaseIdealLoop::do_unroll get wrong opaque node [v2]
Roland Westrelin
roland at openjdk.org
Wed Nov 30 10:56:20 UTC 2022
On Tue, 29 Nov 2022 17:03:53 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> The subgraph is` (Bool (CmpI (Opaque1...))`. So if only the control of `Opaque1` is updated then the `CmpI`/`Bool` could end up with a control that strictly dominates the control of the `Opaque1`. It's quite possible that that wouldn't break anything but wouldn't it be inconsistent and quite ugly?
>
> I mean we never assign control edge to `Bool` and `Cmp` nodes - they depend only on their inputs. At least I don't know about it.
`set_ctrl()` doesn't change the control input of the nodes, right? It only updates the current loop opts pass's table of controls and all data nodes are in that table. I'm confused by what could be wrong here.
-------------
PR: https://git.openjdk.org/jdk/pull/11391
More information about the hotspot-compiler-dev
mailing list