8164954: split_if creates empty phi and region nodes
Don't split if all edges will be moved to new phi Reviewed-by: kvn, vlivanov
This commit is contained in:
parent
344eafdf14
commit
de10f56d52
@ -249,6 +249,13 @@ static Node* split_if(IfNode *iff, PhaseIterGVN *igvn) {
|
||||
predicate_proj = proj;
|
||||
}
|
||||
}
|
||||
|
||||
// If all the defs of the phi are the same constant, we already have the desired end state.
|
||||
// Skip the split that would create empty phi and region nodes.
|
||||
if((r->req() - req_c) == 1) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (nb_predicate_proj > 1) {
|
||||
// Can happen in case of loop unswitching and when the loop is
|
||||
// optimized out: it's not a loop anymore so we don't care about
|
||||
|
Loading…
Reference in New Issue
Block a user