RFR(S): 8210389: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc

Roland Westrelin rwestrel at redhat.com
Tue Oct 2 16:01:00 UTC 2018


Hi Vladimir,

> subsume_by() + disconnect_inputs() are used by other code in final_graph_reshaping_impl(). If it 
> does not work in your case it may not work for other cases to and should be solved in general.
>
> May be we can modify final_graph_reshaping_walk() and final_graph_reshaping_impl() to remove dead 
> code. Or do separate path over graph like PhaseRemoveUseless. One thing to point is that 
> verify_graph_edges() call after Optimize() should have no_dead_code = true to catch all cases we 
> missing.

Ok. But it sounds like it could be quite a bit more work than this bug
fix and could have a long bug tail (if verification code was enabled by
default). Can this be done as a separate change?

Roland.


More information about the hotspot-compiler-dev mailing list