Branch removal (original) (raw)

Patrick Metzler Patrick.Metzler at gmx.net
Thu Sep 27 01:10:08 PDT 2012


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.

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