C2: cyclic IR for JVMS

Krystal Mok rednaxelafx at gmail.com
Thu Dec 18 00:54:30 UTC 2014


Hi Vladimir,

That looks like broken IR to me, too.
I this case, why was there a Phi node in the first place that would only
have a single input? Is it missing some inputs?

- Kris

On Wed, Dec 17, 2014 at 4:01 PM, Vladimir Ivanov <
vladimir.x.ivanov at oracle.com> wrote:

> Hi!
>
> I stumbled upon the following cyclic Ideal graph shape:
>   21580  CallStaticJava  === ... 21585 ... // some local in JVMS
>   21585  Proj    ===  21580 #5
>
> Is it a legal shape? It looks broken to me.
> Or do we fix such quirks later in the pipeline?
>
> It's a result of a transformation (Phi removal [1]) in RegionNode::Ideal
> from the following shape:
>   21580  CallStaticJava  === ... 21457 ... // some local in JVMS
>   21585  Proj    ===  21580 #5
>   21457  Phi     ===  21454 21585
>
> I'm asking because it breaks compilation during incremental inlining.
>
> Best regards,
> Vladimir Ivanov
>
> [1] http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/file/
> ff29b5858de6/src/share/vm/opto/cfgnode.cpp#l587
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20141217/79490bc7/attachment.html>


More information about the hotspot-compiler-dev mailing list