< prev index next >

src/hotspot/share/opto/split_if.cpp

Print this page
rev 47390 : 8186125: "DU iteration must converge quickly" assert in split if with unsafe accesses
Reviewed-by:
rev 47838 : 8191153: assert(u_ctrl != blk1 && u_ctrl != blk2) failed: won't converge
Reviewed-by:

@@ -167,11 +167,11 @@
               // We might see an Opaque1 from a loop limit check here
               assert(u->is_If() || u->is_CMove() || u->Opcode() == Op_Opaque1, "unexpected node type");
               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);
               --j;
             }
< prev index next >