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