Lines Matching refs:node
37 void SchedulingGraph::AddDependency(SchedulingNode* node, in AddDependency() argument
40 if (node == nullptr || dependency == nullptr) { in AddDependency()
47 node->AddDataPredecessor(dependency); in AddDependency()
49 node->AddOtherPredecessor(dependency); in AddDependency()
279 void SchedulingGraph::AddCrossIterationDependencies(SchedulingNode* node) { in AddCrossIterationDependencies() argument
280 for (HInstruction* instruction : node->GetInstruction()->GetInputs()) { in AddCrossIterationDependencies()
299 if (def_node != nullptr && def_node != node && phi_input->GetUses().HasExactlyOneElement()) { in AddCrossIterationDependencies()
303 AddOtherDependency(def_node, node); in AddCrossIterationDependencies()
413 static void DumpAsDotNode(std::ostream& output, const SchedulingNode* node) { in DumpAsDotNode() argument
414 const HInstruction* instruction = node->GetInstruction(); in DumpAsDotNode()
428 output << "\\ninternal_latency: " << node->GetInternalLatency(); in DumpAsDotNode()
429 output << "\\ncritical_path: " << node->GetCriticalPath(); in DumpAsDotNode()
430 if (node->IsSchedulingBarrier()) { in DumpAsDotNode()
436 for (const SchedulingNode* predecessor : node->GetDataPredecessors()) { in DumpAsDotNode()
441 for (const SchedulingNode* predecessor : node->GetOtherPredecessors()) { in DumpAsDotNode()
458 SchedulingNode* node = entry.second.get(); in DumpAsDotGraph() local
459 DumpAsDotNode(output, node); in DumpAsDotGraph()
462 for (SchedulingNode* node : initial_candidates) { in DumpAsDotGraph()
463 const HInstruction* instruction = node->GetInstruction(); in DumpAsDotGraph()
465 << "[label=\"" << node->GetLatency() << "\",dir=back]\n"; in DumpAsDotGraph()
583 SchedulingNode* node = scheduling_graph.AddNode(instruction, IsSchedulingBarrier(instruction)); in Schedule() local
584 CalculateLatency(node); in Schedule()
585 scheduling_nodes.push_back(node); in Schedule()
599 for (SchedulingNode* node : scheduling_nodes) { in Schedule()
600 if (!node->HasUnscheduledSuccessors()) { in Schedule()
601 node->MaybeUpdateCriticalPath(node->GetLatency()); in Schedule()
602 candidates.push_back(node); in Schedule()
615 SchedulingNode* node = selector_->PopHighestPriorityNode(&candidates, scheduling_graph); in Schedule() local
616 Schedule(node, &candidates); in Schedule()