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

Xin Liu xliu at openjdk.java.net
Tue Jun 7 17:15:59 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().

This pull request has now been integrated.

Changeset: 3da7e393
Author:    Xin Liu <xliu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/3da7e393ee4b45c40b8bb132dd09f5a6ba306116
Stats:     4 lines in 1 file changed: 3 ins; 0 del; 1 mod

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

Reviewed-by: kvn, thartmann

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

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


More information about the hotspot-compiler-dev mailing list