Branch removal
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Sep 27 08:45:45 PDT 2012
Patrick Metzler wrote:
> Hi,
>
> 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.
Vladimir
>
> I placed the replacement in PhaseIdealLoop::build_and_optimize() after
> invocation of super word. I also tried out to place it in
> split_if_with_blocks_pre, as an alternative to conditional_move(), but
> got also an 'early schedule failed'. I used set_ctrl() as
> conditional_move(), but have to admit that I didn't get the concept of
> that.
>
> I know early schedule fails because of a missing block selection at node
> cmovP_reg. How can I correct it?
>
> I would appreciate your help, also a reference if there is no simple
> answer.
>
> Best regards,
> Patrick
More information about the hotspot-compiler-dev
mailing list