Home
last modified time | relevance | path

Searched refs:predecessors (Results 1 - 25 of 195) sorted by relevance

12345678

/third_party/mesa3d/src/compiler/nir/tests/
H A Dcontrol_flow_tests.cpp90 /* Verify the successors and predecessors. */ in TEST_F()
99 EXPECT_EQ(0, block_0->predecessors->entries); in TEST_F()
100 EXPECT_EQ(1, block_1->predecessors->entries); in TEST_F()
101 EXPECT_EQ(1, block_2->predecessors->entries); in TEST_F()
102 EXPECT_EQ(1, block_3->predecessors->entries); in TEST_F()
103 EXPECT_TRUE(_mesa_set_search(block_1->predecessors, block_0)); in TEST_F()
104 EXPECT_TRUE(_mesa_set_search(block_2->predecessors, block_1)); in TEST_F()
105 EXPECT_TRUE(_mesa_set_search(block_3->predecessors, block_2)); in TEST_F()
131 * Re-verify the predecessors and successors. in TEST_F()
141 EXPECT_EQ(0, block_0->predecessors in TEST_F()
[all...]
/third_party/skia/third_party/externals/spirv-tools/source/reduce/
H A Dmerge_blocks_reduction_opportunity.cpp38 // There are two opportunities: B and C can be merged with their predecessors. in PreconditionHolds()
43 const auto predecessors = context_->cfg()->preds(successor_block_->id()); in PreconditionHolds() local
44 assert(1 == predecessors.size() && in PreconditionHolds()
47 const uint32_t predecessor_id = predecessors[0]; in PreconditionHolds()
59 const auto predecessors = context_->cfg()->preds(successor_block_->id()); in Apply() local
60 assert(1 == predecessors.size() && in Apply()
63 const uint32_t predecessor_id = predecessors[0]; in Apply()
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/reduce/
H A Dmerge_blocks_reduction_opportunity.cpp38 // There are two opportunities: B and C can be merged with their predecessors. in PreconditionHolds()
43 const auto predecessors = context_->cfg()->preds(successor_block_->id()); in PreconditionHolds() local
44 assert(1 == predecessors.size() && in PreconditionHolds()
47 const uint32_t predecessor_id = predecessors[0]; in PreconditionHolds()
59 const auto predecessors = context_->cfg()->preds(successor_block_->id()); in Apply() local
60 assert(1 == predecessors.size() && in Apply()
63 const uint32_t predecessor_id = predecessors[0]; in Apply()
/third_party/spirv-tools/source/reduce/
H A Dmerge_blocks_reduction_opportunity.cpp38 // There are two opportunities: B and C can be merged with their predecessors. in PreconditionHolds()
43 const auto predecessors = context_->cfg()->preds(successor_block_->id()); in PreconditionHolds() local
44 assert(1 == predecessors.size() && in PreconditionHolds()
47 const uint32_t predecessor_id = predecessors[0]; in PreconditionHolds()
59 const auto predecessors = context_->cfg()->preds(successor_block_->id()); in Apply() local
60 assert(1 == predecessors.size() && in Apply()
63 const uint32_t predecessor_id = predecessors[0]; in Apply()
/third_party/python/Lib/
H A Dgraphlib.py16 # Number of predecessors, generally >= 0. When this value falls to 0,
51 for node, predecessors in graph.items():
52 self.add(node, *predecessors)
59 def add(self, node, *predecessors):
60 """Add a new node and its predecessors to the graph.
62 Both the *node* and all elements in *predecessors* must be hashable.
67 It is possible to add a node with no dependencies (*predecessors* is not provided)
69 is included among *predecessors* it will be automatically added to the graph with
70 no predecessors of its own.
79 nodeinfo.npredecessors += len(predecessors)
[all...]
/third_party/skia/third_party/externals/spirv-tools/source/fuzz/
H A Dtransformation_add_opphi_synonym.cpp51 // predecessors. in IsApplicable()
52 std::vector<uint32_t> predecessors = ir_context->cfg()->preds(block->id()); in IsApplicable() local
55 if (predecessors.empty()) { in IsApplicable()
69 for (uint32_t pred : predecessors) { in IsApplicable()
82 uint32_t first_id = preds_to_ids[predecessors[0]]; in IsApplicable()
88 // Check that the ids corresponding to predecessors are all synonymous, have in IsApplicable()
90 for (uint32_t pred : predecessors) { in IsApplicable()
112 // the predecessors list of |block|. in IsApplicable()
H A Dtransformation_merge_blocks.cpp40 auto predecessors = ir_context->cfg()->preds(second_block->id()); in IsApplicable() local
41 if (predecessors.size() != 1) { in IsApplicable()
44 auto first_block = ir_context->cfg()->block(predecessors.at(0)); in IsApplicable()
H A Dtransformation_replace_opselect_with_conditional_branch.cpp82 auto predecessors = ir_context->cfg()->preds(block->id()); in IsApplicable() local
83 if (predecessors.size() != 1) { in IsApplicable()
87 uint32_t pred_id = predecessors[0]; in IsApplicable()
H A Dfuzzer_pass.cpp624 auto predecessors = GetIRContext()->cfg()->preds(header_id); in GetOrCreateSimpleLoopPreheader() local
626 assert(predecessors.size() >= 2 && in GetOrCreateSimpleLoopPreheader()
631 if (predecessors.size() == 2) { in GetOrCreateSimpleLoopPreheader()
638 header_id, predecessors[0])) { in GetOrCreateSimpleLoopPreheader()
641 maybe_preheader = &*function->FindBlock(predecessors[1]); in GetOrCreateSimpleLoopPreheader()
644 maybe_preheader = &*function->FindBlock(predecessors[0]); in GetOrCreateSimpleLoopPreheader()
663 if (predecessors.size() > 2) { in GetOrCreateSimpleLoopPreheader()
H A Dtransformation_propagate_instruction_up.cpp137 // A block can have multiple identical predecessors. in Apply()
384 // Check that |block| has predecessors. in IsApplicableToBlock()
385 const auto& predecessors = ir_context->cfg()->preds(block_id); in IsApplicableToBlock() local
386 if (predecessors.empty()) { in IsApplicableToBlock()
399 return std::all_of(predecessors.begin(), predecessors.end(), in IsApplicableToBlock()
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/fuzz/
H A Dtransformation_add_opphi_synonym.cpp51 // predecessors. in IsApplicable()
52 std::vector<uint32_t> predecessors = ir_context->cfg()->preds(block->id()); in IsApplicable() local
55 if (predecessors.empty()) { in IsApplicable()
69 for (uint32_t pred : predecessors) { in IsApplicable()
82 uint32_t first_id = preds_to_ids[predecessors[0]]; in IsApplicable()
88 // Check that the ids corresponding to predecessors are all synonymous, have in IsApplicable()
90 for (uint32_t pred : predecessors) { in IsApplicable()
112 // the predecessors list of |block|. in IsApplicable()
H A Dtransformation_merge_blocks.cpp40 auto predecessors = ir_context->cfg()->preds(second_block->id()); in IsApplicable() local
41 if (predecessors.size() != 1) { in IsApplicable()
44 auto first_block = ir_context->cfg()->block(predecessors.at(0)); in IsApplicable()
H A Dtransformation_replace_opselect_with_conditional_branch.cpp82 auto predecessors = ir_context->cfg()->preds(block->id()); in IsApplicable() local
83 if (predecessors.size() != 1) { in IsApplicable()
87 uint32_t pred_id = predecessors[0]; in IsApplicable()
H A Dfuzzer_pass.cpp624 auto predecessors = GetIRContext()->cfg()->preds(header_id); in GetOrCreateSimpleLoopPreheader() local
626 assert(predecessors.size() >= 2 && in GetOrCreateSimpleLoopPreheader()
631 if (predecessors.size() == 2) { in GetOrCreateSimpleLoopPreheader()
638 header_id, predecessors[0])) { in GetOrCreateSimpleLoopPreheader()
641 maybe_preheader = &*function->FindBlock(predecessors[1]); in GetOrCreateSimpleLoopPreheader()
644 maybe_preheader = &*function->FindBlock(predecessors[0]); in GetOrCreateSimpleLoopPreheader()
663 if (predecessors.size() > 2) { in GetOrCreateSimpleLoopPreheader()
H A Dtransformation_propagate_instruction_up.cpp137 // A block can have multiple identical predecessors. in Apply()
384 // Check that |block| has predecessors. in IsApplicableToBlock()
385 const auto& predecessors = ir_context->cfg()->preds(block_id); in IsApplicableToBlock() local
386 if (predecessors.empty()) { in IsApplicableToBlock()
399 return std::all_of(predecessors.begin(), predecessors.end(), in IsApplicableToBlock()
/third_party/spirv-tools/source/fuzz/
H A Dtransformation_add_opphi_synonym.cpp51 // predecessors. in IsApplicable()
52 std::vector<uint32_t> predecessors = ir_context->cfg()->preds(block->id()); in IsApplicable() local
55 if (predecessors.empty()) { in IsApplicable()
69 for (uint32_t pred : predecessors) { in IsApplicable()
82 uint32_t first_id = preds_to_ids[predecessors[0]]; in IsApplicable()
88 // Check that the ids corresponding to predecessors are all synonymous, have in IsApplicable()
90 for (uint32_t pred : predecessors) { in IsApplicable()
112 // the predecessors list of |block|. in IsApplicable()
H A Dtransformation_merge_blocks.cpp40 auto predecessors = ir_context->cfg()->preds(second_block->id()); in IsApplicable() local
41 if (predecessors.size() != 1) { in IsApplicable()
44 auto first_block = ir_context->cfg()->block(predecessors.at(0)); in IsApplicable()
H A Dtransformation_replace_opselect_with_conditional_branch.cpp82 auto predecessors = ir_context->cfg()->preds(block->id()); in IsApplicable() local
83 if (predecessors.size() != 1) { in IsApplicable()
87 uint32_t pred_id = predecessors[0]; in IsApplicable()
/third_party/mesa3d/src/compiler/nir/
H A Dnir_opt_dce.c176 struct set *predecessors = nir_loop_first_block(loop)->predecessors; in dce_cf_list() local
177 if (predecessors->entries == 1 && in dce_cf_list()
178 _mesa_set_next_entry(predecessors, NULL)->key == inner_state.preheader) { in dce_cf_list()
/third_party/skia/third_party/externals/spirv-tools/source/
H A Dcfa.h87 /// predecessors), and it is therefore at the end of the postorder vector.
104 /// without predecessors (such as the root node) is its own immediate
112 // predecessors, favour using the one that appears earlier on the input blocks
193 const std::vector<BB*>& predecessors = *predecessor_func(*b); in CalculateDominators() local
196 auto res = std::find_if(std::begin(predecessors), std::end(predecessors), in CalculateDominators()
201 if (res == end(predecessors)) continue; in CalculateDominators()
205 // all other predecessors in CalculateDominators()
206 for (const auto* p : predecessors) { in CalculateDominators()
278 // First collect nodes without predecessors in TraversalRoots()
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/
H A Dcfa.h87 /// predecessors), and it is therefore at the end of the postorder vector.
104 /// without predecessors (such as the root node) is its own immediate
112 // predecessors, favour using the one that appears earlier on the input blocks
193 const std::vector<BB*>& predecessors = *predecessor_func(*b); in CalculateDominators() local
196 auto res = std::find_if(std::begin(predecessors), std::end(predecessors), in CalculateDominators()
201 if (res == end(predecessors)) continue; in CalculateDominators()
205 // all other predecessors in CalculateDominators()
206 for (const auto* p : predecessors) { in CalculateDominators()
278 // First collect nodes without predecessors in TraversalRoots()
[all...]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFixIrreducibleControlFlow.cpp80 for (auto *Pred : MBB->predecessors()) { in ReachabilityGraph()
147 for (auto *Pred : MBB->predecessors()) { in calculate()
166 for (auto *Pred : Looper->predecessors()) { in calculate()
201 for (auto *Pred : Entry->predecessors()) { in calculate()
212 for (auto *Pred : MBB->predecessors()) { in calculate()
385 for (auto *Pred : Entry->predecessors()) { in makeSingleEntryLoop()
392 // This set stores predecessors within this loop. in makeSingleEntryLoop()
415 // predecessors outside the loop and one for predecessors inside the loop. in makeSingleEntryLoop()
H A DWebAssemblyCFGSort.cpp244 // Prepare for a topological sort: Record the number of predecessors each in sortBlocks()
252 for (const MachineBasicBlock *Pred : MBB.predecessors()) in sortBlocks()
373 // other predecessors should be backedges below. in sortBlocks()
374 for (auto Pred : MBB.predecessors()) in sortBlocks()
377 "Loop header predecessors must be loop predecessors or " in sortBlocks()
380 // Not a loop header. All predecessors should be sorted above. in sortBlocks()
381 for (auto Pred : MBB.predecessors()) in sortBlocks()
383 "Non-loop-header predecessors should be topologically sorted"); in sortBlocks()
389 // Not a loop header. All predecessors shoul in sortBlocks()
[all...]
/third_party/mesa3d/src/freedreno/ir3/
H A Dir3_remove_unreachable.c79 succ->predecessors[pred_idx] = in delete_block()
80 succ->predecessors[succ->predecessors_count - 1]; in delete_block()
/third_party/mesa3d/src/intel/compiler/
H A Dbrw_nir_tcs_workarounds.c118 * which splits it in two. This changes the set of predecessors of in brw_nir_apply_tcs_quads_workaround()
122 const unsigned num_end_preds = impl->end_block->predecessors->entries; in brw_nir_apply_tcs_quads_workaround()
126 set_foreach(impl->end_block->predecessors, entry) { in brw_nir_apply_tcs_quads_workaround()

Completed in 14 milliseconds

12345678