hotspot/src/share/vm/opto/cfgnode.cpp
changeset 9956 a3f4ad8fee9e
parent 9446 748a37b25d10
child 10258 10c77b8c8d3e
equal deleted inserted replaced
9955:9dc9ba9c9399 9956:a3f4ad8fee9e
  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