< 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 >