RFR(S): 8210389: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Sep 28 18:24:57 UTC 2018
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.
Thanks,
Vladimir
On 9/28/18 1:23 AM, Roland Westrelin wrote:
>
> Hi Vladimir,
>
> Thanks for looking at this.
>
>> Why you are not using subsume_by()?
>
> Instead of disconnect_inputs()? Or as a replacement for the loop? I want
> all nodes that become useless as a result of the edge removal to be
> disconnected. subsume_by() wouldn't do as that AFAICT.
>
> Roland.
>
More information about the hotspot-compiler-dev
mailing list