Home
last modified time | relevance | path

Searched refs:dominator (Results 1 - 23 of 23) sorted by relevance

/third_party/skia/third_party/externals/spirv-cross/
H A Dspirv_cfg.cpp55 // Traverse the post-order in reverse and build up the immediate dominator tree. in build_immediate_dominators()
112 // This makes sure that if we are accessing a variable outside the do/while, we choose the loop header as dominator. in post_order_visit()
161 // Add a fake branch so any dominator in either the if (), or else () block, or a lone case statement in post_order_visit()
182 // to have a dominator be inside the block. in post_order_visit()
184 // 2 or more edges to merge block, and still have dominator be inside a case label. in post_order_visit()
242 // Only consider a loop dominator if we are branching from inside a block to a loop header. in find_loop_dominator()
299 uint32_t dominator = builder.get_dominator(); in node_terminates_control_flow_in_sub_graph() local
300 if (dominator == 0) in node_terminates_control_flow_in_sub_graph()
303 auto &dom = compiler.get<SPIRBlock>(dominator); in node_terminates_control_flow_in_sub_graph()
324 to = dominator; in node_terminates_control_flow_in_sub_graph()
[all...]
H A Dspirv_cfg.hpp152 return dominator; in get_dominator()
159 uint32_t dominator = 0; member in SPIRV_CROSS_NAMESPACE::DominatorBuilder
H A Dspirv_cross.cpp1593 auto &dominator = get<SPIRBlock>(block.loop_dominator); in continue_block_type() local
1595 if (execution_is_noop(block, dominator)) in continue_block_type()
1597 else if (execution_is_branchless(block, dominator)) in continue_block_type()
1603 const auto *merge_block = maybe_get<SPIRBlock>(dominator.merge_block); in continue_block_type()
1611 bool positive_do_while = block.true_block == dominator.self && in continue_block_type()
1612 (block.false_block == dominator.merge_block || in continue_block_type()
1615 bool negative_do_while = block.false_block == dominator.self && in continue_block_type()
1616 (block.true_block == dominator.merge_block || in continue_block_type()
3486 uint32_t dominator = builder.get_dominator(); in find_function_local_luts() local
3489 if (write_blocks.count(dominator) in find_function_local_luts()
3744 auto dominator = var.dominator; analyze_variable_scope() local
[all...]
H A Dspirv_common.hpp1063 BlockID dominator = 0; member
/third_party/spirv-tools/source/
H A Dcfa.h108 /// @brief Calculates dominator edges for a set of blocks
116 /// This function calculates the dominator edges for a set of blocks in the
118 /// Uses the dominator algorithm by Cooper et al.
127 /// @return the dominator tree of the graph, as a vector of pairs of nodes.
129 /// pair is its immediate dominator in the sense of Cooper et.al., where a
132 /// dominator.
221 size_t dominator; ///< The index of blocks's dominator in post order array in CalculateDominators() member
230 idoms[postorder.back()].dominator = idoms[postorder.back()].postorder_index; in CalculateDominators()
242 idoms[pred].dominator ! in CalculateDominators()
280 auto dominator = std::get<1>(idom).dominator; CalculateDominators() local
[all...]
/third_party/skia/third_party/externals/spirv-tools/source/
H A Dcfa.h81 /// @brief Calculates dominator edges for a set of blocks
89 /// This function calculates the dominator edges for a set of blocks in the
91 /// Uses the dominator algorithm by Cooper et al.
100 /// @return the dominator tree of the graph, as a vector of pairs of nodes.
102 /// pair is its immediate dominator in the sense of Cooper et.al., where a
105 /// dominator.
178 size_t dominator; ///< The index of blocks's dominator in post order array in CalculateDominators() member
187 idoms[postorder.back()].dominator = idoms[postorder.back()].postorder_index; in CalculateDominators()
199 idoms[pred].dominator ! in CalculateDominators()
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/
H A Dcfa.h81 /// @brief Calculates dominator edges for a set of blocks
89 /// This function calculates the dominator edges for a set of blocks in the
91 /// Uses the dominator algorithm by Cooper et al.
100 /// @return the dominator tree of the graph, as a vector of pairs of nodes.
102 /// pair is its immediate dominator in the sense of Cooper et.al., where a
105 /// dominator.
178 size_t dominator; ///< The index of blocks's dominator in post order array in CalculateDominators() member
187 idoms[postorder.back()].dominator = idoms[postorder.back()].postorder_index; in CalculateDominators()
199 idoms[pred].dominator ! in CalculateDominators()
[all...]
/third_party/node/deps/v8/src/compiler/
H A Dscheduler.cc661 // Phase 2: Compute special RPO and dominator tree.
1185 // Try to find the common dominator by walking, if there is a chance of in GetCommonDominator()
1194 b2 = b2->dominator(); in GetCommonDominator()
1196 b1 = b1->dominator(); in GetCommonDominator()
1200 // We might fall out of the loop here if the dominator tree has several in GetCommonDominator()
1209 b1 = b1->dominator(); in GetCommonDominator()
1211 b2 = b2->dominator(); in GetCommonDominator()
1237 b1 = b1->dominator(); in GetCommonDominator()
1239 b2 = b2->dominator(); in GetCommonDominator()
1267 BasicBlock* dominator in PropagateImmediateDominators() local
1477 BasicBlock* dominator = BasicBlock::GetCommonDominator(b1, b2); InsideSameDominatorChain() local
[all...]
H A Dschedule.h138 BasicBlock* dominator() const { return dominator_; } in dominator() function in v8::internal::compiler::final
139 void set_dominator(BasicBlock* dominator) { dominator_ = dominator; } in set_dominator() argument
165 // Computes the immediate common dominator of {b1} and {b2}. The worst time
166 // complexity is O(N) where N is the height of the dominator tree.
173 int32_t dominator_depth_; // Depth within the dominator tree.
174 BasicBlock* dominator_; // Immediate dominator of the block.
H A Dverifier.cc1911 block = block->dominator(); in HasDominatingDef()
1920 static bool Dominates(Schedule* schedule, Node* dominator, Node* dominatee) { in Dominates() argument
1921 BasicBlock* dom = schedule->block(dominator); in Dominates()
1927 sub = sub->dominator(); in Dominates()
1992 BasicBlock* dom = block->dominator(); in Run()
1994 // All blocks except start should have a dominator. in Run()
1997 // Check that the immediate dominator appears somewhere before the block. in Run()
2049 BasicBlock* idom = block->dominator(); in Run()
2079 BasicBlock* idom = block->dominator(); in Run()
H A Dnode-properties.cc512 Node* dominator) { in NoObservableSideEffectBetween()
513 while (effect != dominator) { in NoObservableSideEffectBetween()
511 NoObservableSideEffectBetween(Node* effect, Node* dominator) NoObservableSideEffectBetween() argument
H A Dschedule.cc99 b2 = b2->dominator(); in GetCommonDominator()
101 b1 = b1->dominator(); in GetCommonDominator()
H A Dnode-properties.h232 // between the {effect} and it's {dominator}. Aborts the walk if there's join
234 static bool NoObservableSideEffectBetween(Node* effect, Node* dominator);
H A Dgraph-visualizer.cc598 if (current->dominator() != nullptr) { in PrintSchedule()
599 PrintBlockProperty("dominator", current->dominator()->rpo_number()); in PrintSchedule()
/third_party/skia/third_party/externals/spirv-tools/source/val/
H A Dconstruct.h59 Construct(ConstructType type, BasicBlock* dominator,
70 /// Returns the dominator block of the construct.
75 /// Returns the dominator block of the construct.
154 /// The dominator block for the construct. Depending on the construct this may
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/val/
H A Dconstruct.h59 Construct(ConstructType type, BasicBlock* dominator,
70 /// Returns the dominator block of the construct.
75 /// Returns the dominator block of the construct.
154 /// The dominator block for the construct. Depending on the construct this may
/third_party/spirv-tools/source/val/
H A Dconstruct.h59 Construct(ConstructType type, BasicBlock* dominator,
70 /// Returns the dominator block of the construct.
75 /// Returns the dominator block of the construct.
154 /// The dominator block for the construct. Depending on the construct this may
/third_party/skia/third_party/externals/spirv-tools/source/opt/
H A Dmerge_return_pass.cpp167 // We have not kept the dominator tree up-to-date. in ProcessStructured()
726 // but no longer dominates |bb|. These are found by walking the dominator in AddNewPhiNodes()
727 // tree starting at the original immediate dominator of |bb| and ending at its in AddNewPhiNodes()
728 // current dominator. in AddNewPhiNodes()
730 // Because we are walking the updated dominator tree it is important that the in AddNewPhiNodes()
740 BasicBlock* dominator = dom_tree->ImmediateDominator(bb); in AddNewPhiNodes() local
741 if (dominator == nullptr) { in AddNewPhiNodes()
746 while (current_bb != nullptr && current_bb != dominator) { in AddNewPhiNodes()
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/opt/
H A Dmerge_return_pass.cpp167 // We have not kept the dominator tree up-to-date. in ProcessStructured()
726 // but no longer dominates |bb|. These are found by walking the dominator in AddNewPhiNodes()
727 // tree starting at the original immediate dominator of |bb| and ending at its in AddNewPhiNodes()
728 // current dominator. in AddNewPhiNodes()
730 // Because we are walking the updated dominator tree it is important that the in AddNewPhiNodes()
740 BasicBlock* dominator = dom_tree->ImmediateDominator(bb); in AddNewPhiNodes() local
741 if (dominator == nullptr) { in AddNewPhiNodes()
746 while (current_bb != nullptr && current_bb != dominator) { in AddNewPhiNodes()
/third_party/spirv-tools/source/opt/
H A Dmerge_return_pass.cpp167 // We have not kept the dominator tree up-to-date. in ProcessStructured()
734 // but no longer dominates |bb|. These are found by walking the dominator in AddNewPhiNodes()
735 // tree starting at the original immediate dominator of |bb| and ending at its in AddNewPhiNodes()
736 // current dominator. in AddNewPhiNodes()
738 // Because we are walking the updated dominator tree it is important that the in AddNewPhiNodes()
748 BasicBlock* dominator = dom_tree->ImmediateDominator(bb); in AddNewPhiNodes() local
749 if (dominator == nullptr) { in AddNewPhiNodes()
754 while (current_bb != nullptr && current_bb != dominator) { in AddNewPhiNodes()
/third_party/node/deps/v8/src/compiler/backend/
H A Dinstruction.cc617 RpoNumber dominator, bool deferred,
626 dominator_(dominator),
661 GetRpo(block->dominator()), block->deferred(), is_handler);
H A Dinstruction.h1529 RpoNumber loop_end, RpoNumber dominator, bool deferred,
1580 RpoNumber dominator() const { return dominator_; } in dominator() function in v8::internal::compiler::final
1581 void set_dominator(RpoNumber dominator) { dominator_ = dominator; } in set_dominator() argument
H A Dmid-tier-register-allocator.cc2863 if (block->dominator().IsValid()) { in InitializeBlockState()
2864 // Add all the blocks this block dominates to its dominator. in InitializeBlockState()
2865 BlockState& dominator_block_state = data_->block_state(block->dominator()); in InitializeBlockState()
2869 // Only the first block shouldn't have a dominator. in InitializeBlockState()

Completed in 70 milliseconds