/third_party/skia/third_party/externals/spirv-cross/ |
H A D | spirv_cfg.cpp | 55 // 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 D | spirv_cfg.hpp | 152 return dominator; in get_dominator() 159 uint32_t dominator = 0; member in SPIRV_CROSS_NAMESPACE::DominatorBuilder
|
H A D | spirv_cross.cpp | 1593 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 D | spirv_common.hpp | 1063 BlockID dominator = 0; member
|
/third_party/spirv-tools/source/ |
H A D | cfa.h | 108 /// @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 D | cfa.h | 81 /// @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 D | cfa.h | 81 /// @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 D | scheduler.cc | 661 // 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 D | schedule.h | 138 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 D | verifier.cc | 1911 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 D | node-properties.cc | 512 Node* dominator) { in NoObservableSideEffectBetween() 513 while (effect != dominator) { in NoObservableSideEffectBetween() 511 NoObservableSideEffectBetween(Node* effect, Node* dominator) NoObservableSideEffectBetween() argument
|
H A D | schedule.cc | 99 b2 = b2->dominator(); in GetCommonDominator() 101 b1 = b1->dominator(); in GetCommonDominator()
|
H A D | node-properties.h | 232 // between the {effect} and it's {dominator}. Aborts the walk if there's join 234 static bool NoObservableSideEffectBetween(Node* effect, Node* dominator);
|
H A D | graph-visualizer.cc | 598 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 D | construct.h | 59 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 D | construct.h | 59 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 D | construct.h | 59 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 D | merge_return_pass.cpp | 167 // 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 D | merge_return_pass.cpp | 167 // 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 D | merge_return_pass.cpp | 167 // 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 D | instruction.cc | 617 RpoNumber dominator, bool deferred, 626 dominator_(dominator), 661 GetRpo(block->dominator()), block->deferred(), is_handler);
|
H A D | instruction.h | 1529 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 D | mid-tier-register-allocator.cc | 2863 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()
|