Home
last modified time | relevance | path

Searched refs:node (Results 1 – 8 of 8) sorted by relevance

/art/compiler/optimizing/
Dgvn.cc103 for (Node* node = buckets_[index]; node != nullptr; node = node->GetNext()) { in Lookup() local
104 if (node->GetHashCode() == hash_code) { in Lookup()
105 HInstruction* existing = node->GetInstruction(); in Lookup()
119 for (Node* node = buckets_[index]; node != nullptr; node = node->GetNext()) { in Contains() local
120 if (node->GetInstruction() == instruction) { in Contains()
129 DeleteAllImpureWhich([side_effects](Node* node) { in Kill() argument
130 return node->GetInstruction()->GetSideEffects().MayDependOn(side_effects); in Kill()
151 DeleteAllImpureWhich([predecessor](Node* node) { in IntersectWith() argument
152 return !predecessor->Contains(node->GetInstruction()); in IntersectWith()
190 for (Node* node = other.buckets_[i]; node != nullptr; node = node->GetNext()) { in PopulateFromInternal() local
[all …]
Dscheduler.cc28 void SchedulingGraph::AddDependency(SchedulingNode* node, in AddDependency() argument
31 if (node == nullptr || dependency == nullptr) { in AddDependency()
38 if (!HasImmediateDataDependency(node, dependency)) { in AddDependency()
39 node->AddDataPredecessor(dependency); in AddDependency()
41 } else if (!HasImmediateOtherDependency(node, dependency)) { in AddDependency()
42 node->AddOtherPredecessor(dependency); in AddDependency()
46 static bool MayHaveReorderingDependency(SideEffects node, SideEffects other) { in MayHaveReorderingDependency() argument
48 if (node.MayDependOn(other)) { in MayHaveReorderingDependency()
53 if (other.MayDependOn(node)) { in MayHaveReorderingDependency()
58 if (node.DoesAnyWrite() && other.DoesAnyWrite()) { in MayHaveReorderingDependency()
[all …]
Dloop_optimization.cc271 LoopNode* node = new (loop_allocator_) LoopNode(loop_info); in AddLoop() local
275 last_loop_ = top_loop_ = node; in AddLoop()
278 node->outer = last_loop_; in AddLoop()
280 last_loop_ = last_loop_->inner = node; in AddLoop()
286 node->outer = last_loop_->outer; in AddLoop()
287 node->previous = last_loop_; in AddLoop()
289 last_loop_ = last_loop_->next = node; in AddLoop()
293 void HLoopOptimization::RemoveLoop(LoopNode* node) { in RemoveLoop() argument
294 DCHECK(node != nullptr); in RemoveLoop()
295 DCHECK(node->inner == nullptr); in RemoveLoop()
[all …]
Dregister_allocator_graph_color.cc481 void FreezeMoves(InterferenceNode* node);
484 void PruneNode(InterferenceNode* node);
487 void EnableCoalesceOpportunities(InterferenceNode* node);
490 void CheckTransitionFromFreezeWorklist(InterferenceNode* node);
653 for (InterferenceNode* node : physical_core_nodes_) { in AllocateRegisters()
654 node->ClearCoalesceOpportunities(); in AllocateRegisters()
656 for (InterferenceNode* node : physical_fp_nodes_) { in AllocateRegisters()
657 node->ClearCoalesceOpportunities(); in AllocateRegisters()
668 for (InterferenceNode* node : iteration.GetPrunableNodes()) { in AllocateRegisters()
669 LiveInterval* interval = node->GetInterval(); in AllocateRegisters()
[all …]
Dscheduler.h251 SchedulingNode* node = new (arena_) SchedulingNode(instr, arena_, is_scheduling_barrier); variable
252 nodes_map_.Insert(std::make_pair(instr, node));
255 return node;
274 bool HasImmediateDataDependency(const SchedulingNode* node, const SchedulingNode* other) const;
275 bool HasImmediateDataDependency(const HInstruction* node, const HInstruction* other) const;
276 bool HasImmediateOtherDependency(const SchedulingNode* node, const SchedulingNode* other) const;
277 bool HasImmediateOtherDependency(const HInstruction* node, const HInstruction* other) const;
289 void AddDependency(SchedulingNode* node, SchedulingNode* dependency, bool is_data_dependency);
290 void AddDataDependency(SchedulingNode* node, SchedulingNode* dependency) { in AddDataDependency() argument
291 AddDependency(node, dependency, /*is_data_dependency*/true); in AddDataDependency()
[all …]
Dloop_optimization.h108 void RemoveLoop(LoopNode* node);
109 void TraverseLoopsInnerToOuter(LoopNode* node);
112 void SimplifyInduction(LoopNode* node);
113 void SimplifyBlocks(LoopNode* node);
114 void OptimizeInnerLoop(LoopNode* node);
117 bool CanVectorize(LoopNode* node, HBasicBlock* block, int64_t trip_count);
118 void Vectorize(LoopNode* node, HBasicBlock* block, HBasicBlock* exit, int64_t trip_count);
119 void GenerateNewLoop(LoopNode* node,
125 bool VectorizeDef(LoopNode* node, HInstruction* instruction, bool generate_code);
126 bool VectorizeUse(LoopNode* node,
[all …]
Dloop_optimization_test.cc93 std::string LoopStructureRecurse(HLoopOptimization::LoopNode* node) { in LoopStructureRecurse() argument
95 for ( ; node != nullptr; node = node->next) { in LoopStructureRecurse()
97 s.append(LoopStructureRecurse(node->inner)); in LoopStructureRecurse()
/art/compiler/utils/
Dintrusive_forward_list.h372 bool ContainsNode(const_reference node) const { in ContainsNode() argument
374 if (std::addressof(n) == std::addressof(node)) { in ContainsNode()