Lines Matching refs:node
36 void SchedulingGraph::AddDependency(SchedulingNode* node, in AddDependency() argument
39 if (node == nullptr || dependency == nullptr) { in AddDependency()
46 node->AddDataPredecessor(dependency); in AddDependency()
48 node->AddOtherPredecessor(dependency); in AddDependency()
285 void SchedulingGraph::AddCrossIterationDependencies(SchedulingNode* node) { in AddCrossIterationDependencies() argument
286 for (HInstruction* instruction : node->GetInstruction()->GetInputs()) { in AddCrossIterationDependencies()
305 if (def_node != nullptr && def_node != node && phi_input->GetUses().HasExactlyOneElement()) { in AddCrossIterationDependencies()
309 AddOtherDependency(def_node, node); in AddCrossIterationDependencies()
419 static void DumpAsDotNode(std::ostream& output, const SchedulingNode* node) { in DumpAsDotNode() argument
420 const HInstruction* instruction = node->GetInstruction(); in DumpAsDotNode()
434 output << "\\ninternal_latency: " << node->GetInternalLatency(); in DumpAsDotNode()
435 output << "\\ncritical_path: " << node->GetCriticalPath(); in DumpAsDotNode()
436 if (node->IsSchedulingBarrier()) { in DumpAsDotNode()
442 for (const SchedulingNode* predecessor : node->GetDataPredecessors()) { in DumpAsDotNode()
447 for (const SchedulingNode* predecessor : node->GetOtherPredecessors()) { in DumpAsDotNode()
464 SchedulingNode* node = entry.second.get(); in DumpAsDotGraph() local
465 DumpAsDotNode(output, node); in DumpAsDotGraph()
468 for (SchedulingNode* node : initial_candidates) { in DumpAsDotGraph()
469 const HInstruction* instruction = node->GetInstruction(); in DumpAsDotGraph()
471 << "[label=\"" << node->GetLatency() << "\",dir=back]\n"; in DumpAsDotGraph()
589 SchedulingNode* node = scheduling_graph.AddNode(instruction, IsSchedulingBarrier(instruction)); in Schedule() local
590 CalculateLatency(node); in Schedule()
591 scheduling_nodes.push_back(node); in Schedule()
605 for (SchedulingNode* node : scheduling_nodes) { in Schedule()
606 if (!node->HasUnscheduledSuccessors()) { in Schedule()
607 node->MaybeUpdateCriticalPath(node->GetLatency()); in Schedule()
608 candidates.push_back(node); in Schedule()
621 SchedulingNode* node = selector_->PopHighestPriorityNode(&candidates, scheduling_graph); in Schedule() local
622 Schedule(node, &candidates); in Schedule()