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

Method addDep

chapter23/src/main/java/com/seaofnodes/simple/node/Node.java:556–566  ·  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

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

Callers 15

errMethod · 0.45
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

Calls 2

findMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected