提交 5d3c3e23 编写于 作者: T thartmann

8066763: fatal error "assert(false) failed: unexpected yanked node" in postaloc.cpp:139

Summary: Check for dead input nodes after replacing compare node with implicit null check.
Reviewed-by: kvn
上级 dd522187
......@@ -437,8 +437,15 @@ void PhaseCFG::implicit_null_check(Block* block, Node *proj, Node *val, int allo
for (DUIterator_Last i2min, i2 = old_tst->last_outs(i2min); i2 >= i2min; --i2)
old_tst->last_out(i2)->set_req(0, nul_chk);
// Clean-up any dead code
for (uint i3 = 0; i3 < old_tst->req(); i3++)
for (uint i3 = 0; i3 < old_tst->req(); i3++) {
Node* in = old_tst->in(i3);
old_tst->set_req(i3, NULL);
if (in->outcnt() == 0) {
// Remove dead input node
in->disconnect_inputs(NULL, C);
block->find_remove(in);
}
}
latency_from_uses(nul_chk);
latency_from_uses(best);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册