comparison src/share/vm/opto/cfgnode.cpp @ 3399:b55f5bd7ec66

7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked Summary: Replace the assert in PhiNode::Ideal with check to avoid transformation of new phi. Reviewed-by: never
author kvn
date Sat, 21 May 2011 13:59:55 -0700
parents bad7ecd0b6ed
children c96c3eb1efae
comparison
equal deleted inserted replaced
3398:789d04408ca3 3399:b55f5bd7ec66
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