Branch removal (original) (raw)
Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Sep 27 10:44:46 PDT 2012
- Previous message: Branch removal
- Next message: Branch removal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
You can't replace such Phi because its data inputs come from different conditions (If nodes). You can only replace Phi from "diamond" shaped graphs:
Ctrl Bool
\ /
If
/ \
IfTrue IfFalse \ / Region D1 D2 / / Phi
Could you give a java code example you are trying to optimize?
Regards, Vladimir
Patrick Metzler wrote:
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
- Previous message: Branch removal
- Next message: Branch removal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list