RFR: 8287840: Dead copy region node blocks IfNode's fold-compares

Vladimir Kozlov kvn at openjdk.java.net
Mon Jun 6 23:49:13 UTC 2022


On Mon, 6 Jun 2022 01:15:35 GMT, Xin Liu <xliu at openjdk.org> wrote:

> IfNode::fold_compares() requires ctrl has a single output. I found some fold-compares case postpone to IterGVN2. The reason is that a dead region prevents IfNode::fold_compares() from transforming code.  The dead node is removed in IterGVN, but it's too late. 
> 
> This PR extends Node::has_special_unique_user() so `PhaseIterGVN::remove_globally_dead_node()` puts IfNode back to worklist. The following attempt will carry out fold-compares().

Testing results are good.

-------------

Marked as reviewed by kvn (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/9035


More information about the hotspot-compiler-dev mailing list