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

Method addDep

chapter21/src/main/java/com/seaofnodes/simple/node/Node.java:549–559  ·  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

547 * being added must benefit from this node being peepholed.
548 */
549 <N extends Node> N addDep( N dep ) {
550 // Running peepholes during the big assert cannot have side effects
551 // like adding dependencies.
552 if( CODE._midAssert ) return dep;
553 if( dep._deps==null ) dep._deps = new Ary<>(Node.class);
554 if( dep._deps .find(this) != -1 ) return dep; // Already on list
555 if( dep._inputs .find(this) != -1 ) return dep; // No need for deps on immediate neighbors
556 if( dep._outputs.find(this) != -1 ) return dep;
557 dep._deps.add(this);
558 return dep;
559 }
560
561 // Move the dependents onto a worklist, and clear for future dependents.
562 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
_idomMethod · 0.45
idealizeMethod · 0.45
hasMidUserMethod · 0.45

Calls 2

findMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected