--- a/src/hotspot/share/opto/split_if.cpp Fri Nov 10 10:30:42 2017 +0100
+++ b/src/hotspot/share/opto/split_if.cpp Mon Nov 27 10:44:19 2017 -0800
@@ -169,7 +169,7 @@
assert(u->in(1) == bol, "");
// Get control block of either the CMove or the If input
Node *u_ctrl = u->is_If() ? u->in(0) : get_ctrl(u);
- assert(u_ctrl != blk1 && u_ctrl != blk2, "won't converge");
+ assert((u_ctrl != blk1 && u_ctrl != blk2) || u->is_CMove(), "won't converge");
Node *x = bol->clone();
register_new_node(x, u_ctrl);
_igvn.replace_input_of(u, 1, x);