Branch removal

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