MCPcopy Create free account
hub / github.com/SeaOfNodes/Simple / addDep

Method addDep

chapter22/src/main/java/com/seaofnodes/simple/node/Node.java:553–563  ·  view source on GitHub ↗

Add a node to the list of dependencies. Only add it if its not an input or output of this node, that is, it is at least one step away. The node being added must benefit from this node being peepholed.

( N dep )

Source from the content-addressed store, hash-verified

551 * being added must benefit from this node being peepholed.
552 */
553 <N extends Node> N addDep( N dep ) {
554 // Running peepholes during the big assert cannot have side effects
555 // like adding dependencies.
556 if( CODE._midAssert ) return dep;
557 if( dep._deps==null ) dep._deps = new Ary<>(Node.class);
558 if( dep._deps .find(this) != -1 ) return dep; // Already on list
559 if( dep._inputs .find(this) != -1 ) return dep; // No need for deps on immediate neighbors
560 if( dep._outputs.find(this) != -1 ) return dep;
561 dep._deps.add(this);
562 return dep;
563 }
564
565 // Move the dependents onto a worklist, and clear for future dependents.
566 public void moveDepsToWorklist( ) {

Callers 15

computeMethod · 0.45
idealizeMethod · 0.45
computeMethod · 0.45
idealizeMethod · 0.45
same_opMethod · 0.45
singleUniqueInputMethod · 0.45
allConsMethod · 0.45
checkOnlyUseMethod · 0.45
allConsMethod · 0.45
idealizeMethod · 0.45
_idomMethod · 0.45
idealizeMethod · 0.45

Calls 2

findMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected