Kill a Node with no uses , by setting all of its defs to null. This may recursively kill more Nodes and is basically dead code elimination. This function is co-recursive with #popN.
( )
| 216 | * code elimination. This function is co-recursive with {@link #popN}. |
| 217 | */ |
| 218 | public void kill( ) { |
| 219 | assert isUnused(); // Has no uses, so it is dead |
| 220 | popN(nIns()); // Set all inputs to null, recursively killing unused Nodes |
| 221 | _type=null; // Flag as dead |
| 222 | assert isDead(); // Really dead now |
| 223 | } |
| 224 | |
| 225 | // Mostly used for asserts and printing. |
| 226 | boolean isDead() { return isUnused() && nIns()==0 && _type==null; } |
no test coverage detected