Branch removal

Patrick Metzler Patrick.Metzler at gmx.net
Thu Sep 27 09:41:37 PDT 2012


Hi Vladimir,

Thanks for your reply.

>> Again, I have a question about replacing Phi nodes with CMove nodes.
>> I managed to do this for cases where I delete the corresponding
>> Region; but when I just replace a Phi with a CMove (without deleting
>> the Region), early schedule fails.
>
> By delete you mean replace it with control edge of If node. Right? Also
> you can't delete it if there are other Phis attached to it.

Sorry, I should have been more precise. For example, I want this:

    Ctrl   Bool
       \  /
        If
       /  \                ...
IfTrue    IfFalse        /
           \        Iffalse
            \      /
             \    /
            Region D1 D2
             /   \/  /
            Phi   Phi

be replaced by this:

  _____ Ctrl              ...
|       \               /
|        \        Iffalse
|  Bool   \      /
| /        \    /
||  D1 D2  Region
|| /  /    /
CMove     Phi


So it is not possible because there is another Phi at Region?

Best regards,
Patrick


More information about the hotspot-compiler-dev mailing list