equal
deleted
inserted
replaced
1554 if( phase->type_or_null(r) == Type::TOP ) // Dead code? |
1554 if( phase->type_or_null(r) == Type::TOP ) // Dead code? |
1555 return NULL; // No change |
1555 return NULL; // No change |
1556 |
1556 |
1557 Node *top = phase->C->top(); |
1557 Node *top = phase->C->top(); |
1558 bool new_phi = (outcnt() == 0); // transforming new Phi |
1558 bool new_phi = (outcnt() == 0); // transforming new Phi |
1559 assert(!can_reshape || !new_phi, "for igvn new phi should be hooked"); |
1559 // No change for igvn if new phi is not hooked |
|
1560 if (new_phi && can_reshape) |
|
1561 return NULL; |
1560 |
1562 |
1561 // The are 2 situations when only one valid phi's input is left |
1563 // The are 2 situations when only one valid phi's input is left |
1562 // (in addition to Region input). |
1564 // (in addition to Region input). |
1563 // One: region is not loop - replace phi with this input. |
1565 // One: region is not loop - replace phi with this input. |
1564 // Two: region is loop - replace phi with top since this data path is dead |
1566 // Two: region is loop - replace phi with top since this data path is dead |