/third_party/skia/third_party/externals/spirv-tools/source/fuzz/ |
H A D | fuzzer_pass_merge_function_returns.cpp | 144 for (uint32_t merge_block : merge_blocks) { in Apply() 145 opt::BasicBlock* block = GetIRContext()->get_instr_block(merge_block); in Apply() 150 ->get_instr_block(merge_block) in Apply() 156 actual_merge_blocks.emplace_back(merge_block); in Apply() 164 GetOrCreateSimpleLoopPreheader(merge_block)->id()); in Apply() 171 SplitBlockAfterOpPhiOrOpVariable(merge_block); in Apply() 172 actual_merge_blocks.emplace_back(merge_block); in Apply() 262 uint32_t merge_block = in GetMergeBlocksOfLoopsContainingBlocks() local 265 while (merge_block != 0 && !result.count(merge_block)) { in GetMergeBlocksOfLoopsContainingBlocks() [all...] |
H A D | transformation_merge_function_returns.cpp | 107 uint32_t merge_block = in IsApplicable() local 110 while (merge_block != 0) { in IsApplicable() 113 if (merge_blocks_to_returning_preds.count(merge_block)) { in IsApplicable() 114 merge_blocks_to_returning_preds[merge_block].emplace(block); in IsApplicable() 120 merge_blocks_to_returning_preds.emplace(merge_block, in IsApplicable() 124 block = merge_block; in IsApplicable() 125 merge_block = in IsApplicable() 126 ir_context->GetStructuredCFGAnalysis()->LoopMergeBlock(merge_block); in IsApplicable() 133 uint32_t merge_block = merge_block_entry.first; in IsApplicable() local 135 ir_context->get_instr_block(merge_block) in IsApplicable() 349 auto merge_block = ir_context->get_instr_block(merge_block_id); Apply() local 681 uint32_t merge_block = merge_block_entry.first; CheckDefinitionsStillDominateUsesAfterAddingNewPredecessors() local 770 CheckThatTheCorrectIdsAreGivenForMergeBlock( uint32_t merge_block, const std::map<uint32_t, protobufs::ReturnMergingInfo>& merge_blocks_to_info, const std::map<uint32_t, uint32_t>& types_to_available_id, bool function_is_void, opt::IRContext* ir_context, const TransformationContext& transformation_context, std::set<uint32_t>* used_fresh_ids) CheckThatTheCorrectIdsAreGivenForMergeBlock() argument [all...] |
H A D | fuzzer_pass_add_dead_breaks.cpp | 42 auto merge_block = in Apply() local 45 assert(merge_block && "Merge block can't be null"); in Apply() 47 merge_blocks.push_back(merge_block); in Apply() 55 for (auto* merge_block : merge_blocks) { in Apply() 64 // If |block| has a branch to |merge_block|, the latter must have all of in Apply() 67 if (!block.IsSuccessor(merge_block)) { in Apply() 68 merge_block->ForEachPhiInst([this, &phi_ids](opt::Instruction* phi) { in Apply() 87 block.id(), merge_block->id(), break_condition, std::move(phi_ids)); in Apply()
|
H A D | transformation_duplicate_region_with_selection.cpp | 167 auto merge_block = in IsApplicable() local 169 if (region_set.count(&block) != region_set.count(merge_block)) { in IsApplicable() 311 std::unique_ptr<opt::BasicBlock> merge_block = in Apply() local 358 // transformed region will end in |merge_block|. Hence, we need to change all in Apply() 360 // |merge_block|. in Apply() 499 merge_block->AddInstruction(MakeUnique<opt::Instruction>( in Apply() 521 &merge_block](opt::Instruction* user, uint32_t operand_index) { in Apply() 524 user_block == merge_block.get()) { in Apply() 556 // |merge_block|. in Apply() 559 merge_block in Apply() [all...] |
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/fuzz/ |
H A D | fuzzer_pass_merge_function_returns.cpp | 144 for (uint32_t merge_block : merge_blocks) { in Apply() 145 opt::BasicBlock* block = GetIRContext()->get_instr_block(merge_block); in Apply() 150 ->get_instr_block(merge_block) in Apply() 156 actual_merge_blocks.emplace_back(merge_block); in Apply() 164 GetOrCreateSimpleLoopPreheader(merge_block)->id()); in Apply() 171 SplitBlockAfterOpPhiOrOpVariable(merge_block); in Apply() 172 actual_merge_blocks.emplace_back(merge_block); in Apply() 262 uint32_t merge_block = in GetMergeBlocksOfLoopsContainingBlocks() local 265 while (merge_block != 0 && !result.count(merge_block)) { in GetMergeBlocksOfLoopsContainingBlocks() [all...] |
H A D | transformation_merge_function_returns.cpp | 107 uint32_t merge_block = in IsApplicable() local 110 while (merge_block != 0) { in IsApplicable() 113 if (merge_blocks_to_returning_preds.count(merge_block)) { in IsApplicable() 114 merge_blocks_to_returning_preds[merge_block].emplace(block); in IsApplicable() 120 merge_blocks_to_returning_preds.emplace(merge_block, in IsApplicable() 124 block = merge_block; in IsApplicable() 125 merge_block = in IsApplicable() 126 ir_context->GetStructuredCFGAnalysis()->LoopMergeBlock(merge_block); in IsApplicable() 133 uint32_t merge_block = merge_block_entry.first; in IsApplicable() local 135 ir_context->get_instr_block(merge_block) in IsApplicable() 349 auto merge_block = ir_context->get_instr_block(merge_block_id); Apply() local 681 uint32_t merge_block = merge_block_entry.first; CheckDefinitionsStillDominateUsesAfterAddingNewPredecessors() local 770 CheckThatTheCorrectIdsAreGivenForMergeBlock( uint32_t merge_block, const std::map<uint32_t, protobufs::ReturnMergingInfo>& merge_blocks_to_info, const std::map<uint32_t, uint32_t>& types_to_available_id, bool function_is_void, opt::IRContext* ir_context, const TransformationContext& transformation_context, std::set<uint32_t>* used_fresh_ids) CheckThatTheCorrectIdsAreGivenForMergeBlock() argument [all...] |
H A D | fuzzer_pass_add_dead_breaks.cpp | 42 auto merge_block = in Apply() local 45 assert(merge_block && "Merge block can't be null"); in Apply() 47 merge_blocks.push_back(merge_block); in Apply() 55 for (auto* merge_block : merge_blocks) { in Apply() 64 // If |block| has a branch to |merge_block|, the latter must have all of in Apply() 67 if (!block.IsSuccessor(merge_block)) { in Apply() 68 merge_block->ForEachPhiInst([this, &phi_ids](opt::Instruction* phi) { in Apply() 87 block.id(), merge_block->id(), break_condition, std::move(phi_ids)); in Apply()
|
/third_party/spirv-tools/source/fuzz/ |
H A D | fuzzer_pass_merge_function_returns.cpp | 144 for (uint32_t merge_block : merge_blocks) { in Apply() 145 opt::BasicBlock* block = GetIRContext()->get_instr_block(merge_block); in Apply() 150 ->get_instr_block(merge_block) in Apply() 156 actual_merge_blocks.emplace_back(merge_block); in Apply() 164 GetOrCreateSimpleLoopPreheader(merge_block)->id()); in Apply() 171 SplitBlockAfterOpPhiOrOpVariable(merge_block); in Apply() 172 actual_merge_blocks.emplace_back(merge_block); in Apply() 262 uint32_t merge_block = in GetMergeBlocksOfLoopsContainingBlocks() local 265 while (merge_block != 0 && !result.count(merge_block)) { in GetMergeBlocksOfLoopsContainingBlocks() [all...] |
H A D | transformation_merge_function_returns.cpp | 107 uint32_t merge_block = in IsApplicable() local 110 while (merge_block != 0) { in IsApplicable() 113 if (merge_blocks_to_returning_preds.count(merge_block)) { in IsApplicable() 114 merge_blocks_to_returning_preds[merge_block].emplace(block); in IsApplicable() 120 merge_blocks_to_returning_preds.emplace(merge_block, in IsApplicable() 124 block = merge_block; in IsApplicable() 125 merge_block = in IsApplicable() 126 ir_context->GetStructuredCFGAnalysis()->LoopMergeBlock(merge_block); in IsApplicable() 133 uint32_t merge_block = merge_block_entry.first; in IsApplicable() local 135 ir_context->get_instr_block(merge_block) in IsApplicable() 349 auto merge_block = ir_context->get_instr_block(merge_block_id); Apply() local 682 uint32_t merge_block = merge_block_entry.first; CheckDefinitionsStillDominateUsesAfterAddingNewPredecessors() local 771 CheckThatTheCorrectIdsAreGivenForMergeBlock( uint32_t merge_block, const std::map<uint32_t, protobufs::ReturnMergingInfo>& merge_blocks_to_info, const std::map<uint32_t, uint32_t>& types_to_available_id, bool function_is_void, opt::IRContext* ir_context, const TransformationContext& transformation_context, std::set<uint32_t>* used_fresh_ids) CheckThatTheCorrectIdsAreGivenForMergeBlock() argument [all...] |
H A D | fuzzer_pass_add_dead_breaks.cpp | 42 auto merge_block = in Apply() local 45 assert(merge_block && "Merge block can't be null"); in Apply() 47 merge_blocks.push_back(merge_block); in Apply() 55 for (auto* merge_block : merge_blocks) { in Apply() 64 // If |block| has a branch to |merge_block|, the latter must have all of in Apply() 67 if (!block.IsSuccessor(merge_block)) { in Apply() 68 merge_block->ForEachPhiInst([this, &phi_ids](opt::Instruction* phi) { in Apply() 87 block.id(), merge_block->id(), break_condition, std::move(phi_ids)); in Apply()
|
/third_party/skia/third_party/externals/spirv-tools/source/reduce/ |
H A D | structured_construct_to_block_reduction_opportunity.cpp | 26 auto merge_block = context_->cfg()->block(header_block->MergeBlockId()); in Apply() local 39 if (header_block != &*block_it && merge_block != &*block_it && in Apply() 41 postdominators->Dominates(merge_block, &*block_it)) { in Apply() 60 {{SPV_OPERAND_TYPE_ID, {merge_block->id()}}}); in Apply()
|
H A D | structured_construct_to_block_reduction_opportunity_finder.cpp | 84 auto* merge_block = context->cfg()->block( in GetAvailableOpportunities() local 86 if (!context->IsReachable(*merge_block)) { in GetAvailableOpportunities() 91 assert(dominators->Dominates(&block, merge_block) && in GetAvailableOpportunities() 93 if (!postdominators->Dominates(merge_block, &block)) { in GetAvailableOpportunities()
|
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/reduce/ |
H A D | structured_construct_to_block_reduction_opportunity.cpp | 26 auto merge_block = context_->cfg()->block(header_block->MergeBlockId()); in Apply() local 39 if (header_block != &*block_it && merge_block != &*block_it && in Apply() 41 postdominators->Dominates(merge_block, &*block_it)) { in Apply() 60 {{SPV_OPERAND_TYPE_ID, {merge_block->id()}}}); in Apply()
|
H A D | structured_construct_to_block_reduction_opportunity_finder.cpp | 84 auto* merge_block = context->cfg()->block( in GetAvailableOpportunities() local 86 if (!context->IsReachable(*merge_block)) { in GetAvailableOpportunities() 91 assert(dominators->Dominates(&block, merge_block) && in GetAvailableOpportunities() 93 if (!postdominators->Dominates(merge_block, &block)) { in GetAvailableOpportunities()
|
/third_party/spirv-tools/source/reduce/ |
H A D | structured_construct_to_block_reduction_opportunity.cpp | 26 auto merge_block = context_->cfg()->block(header_block->MergeBlockId()); in Apply() local 39 if (header_block != &*block_it && merge_block != &*block_it && in Apply() 41 postdominators->Dominates(merge_block, &*block_it)) { in Apply() 60 {{SPV_OPERAND_TYPE_ID, {merge_block->id()}}}); in Apply()
|
H A D | structured_construct_to_block_reduction_opportunity_finder.cpp | 84 auto* merge_block = context->cfg()->block( in GetAvailableOpportunities() local 86 if (!context->IsReachable(*merge_block)) { in GetAvailableOpportunities() 91 assert(dominators->Dominates(&block, merge_block) && in GetAvailableOpportunities() 93 if (!postdominators->Dominates(merge_block, &block)) { in GetAvailableOpportunities()
|
/third_party/skia/third_party/externals/spirv-tools/source/opt/ |
H A D | merge_return_pass.cpp | 267 void MergeReturnPass::CreatePhiNodesForInst(BasicBlock* merge_block, in CreatePhiNodesForInst() argument 270 context()->GetDominatorAnalysis(merge_block->GetParent()); in CreatePhiNodesForInst() 308 const std::set<uint32_t>& new_edges = new_edges_[merge_block]; in CreatePhiNodesForInst() 312 std::vector<uint32_t> preds = cfg()->preds(merge_block->id()); in CreatePhiNodesForInst() 345 Instruction* insert_pos = &*merge_block->begin(); in CreatePhiNodesForInst() 351 context()->set_instr_block(new_phi, merge_block); in CreatePhiNodesForInst() 353 new_phi->ForEachInId([dom_tree, merge_block, this](uint32_t* use_id) { in CreatePhiNodesForInst() 356 if (use_bb != nullptr && !dom_tree->Dominates(use_bb, merge_block)) { in CreatePhiNodesForInst() 357 CreatePhiNodesForInst(merge_block, *use); in CreatePhiNodesForInst() 362 context(), &*merge_block in CreatePhiNodesForInst() 454 BasicBlock* merge_block = context()->get_instr_block(merge_block_id); BreakFromConstruct() local [all...] |
H A D | replace_desc_array_access_using_var_index.cpp | 258 auto* merge_block = SeparateInstructionsIntoNewBlock( in ReplaceNonUniformAccessWithSwitchCase() local 269 access_chain, idx, insts_to_be_cloned, merge_block->id(), in ReplaceNonUniformAccessWithSwitchCase() 272 function->InsertBasicBlockBefore(std::move(case_block), merge_block); in ReplaceNonUniformAccessWithSwitchCase() local 285 merge_block->id())); in ReplaceNonUniformAccessWithSwitchCase() 287 function->InsertBasicBlockBefore(std::move(default_block), merge_block); in ReplaceNonUniformAccessWithSwitchCase() local 293 merge_block->id(), case_block_ids); in ReplaceNonUniformAccessWithSwitchCase() 297 uint32_t phi_id = CreatePhiInstruction(merge_block, phi_operands, in ReplaceNonUniformAccessWithSwitchCase() 302 // Replace OpPhi incoming block operand that uses |block| with |merge_block| in ReplaceNonUniformAccessWithSwitchCase() 303 ReplacePhiIncomingBlock(block->id(), merge_block->id()); in ReplaceNonUniformAccessWithSwitchCase()
|
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/opt/ |
H A D | merge_return_pass.cpp | 267 void MergeReturnPass::CreatePhiNodesForInst(BasicBlock* merge_block, in CreatePhiNodesForInst() argument 270 context()->GetDominatorAnalysis(merge_block->GetParent()); in CreatePhiNodesForInst() 308 const std::set<uint32_t>& new_edges = new_edges_[merge_block]; in CreatePhiNodesForInst() 312 std::vector<uint32_t> preds = cfg()->preds(merge_block->id()); in CreatePhiNodesForInst() 345 Instruction* insert_pos = &*merge_block->begin(); in CreatePhiNodesForInst() 351 context()->set_instr_block(new_phi, merge_block); in CreatePhiNodesForInst() 353 new_phi->ForEachInId([dom_tree, merge_block, this](uint32_t* use_id) { in CreatePhiNodesForInst() 356 if (use_bb != nullptr && !dom_tree->Dominates(use_bb, merge_block)) { in CreatePhiNodesForInst() 357 CreatePhiNodesForInst(merge_block, *use); in CreatePhiNodesForInst() 362 context(), &*merge_block in CreatePhiNodesForInst() 454 BasicBlock* merge_block = context()->get_instr_block(merge_block_id); BreakFromConstruct() local [all...] |
H A D | replace_desc_array_access_using_var_index.cpp | 258 auto* merge_block = SeparateInstructionsIntoNewBlock( in ReplaceNonUniformAccessWithSwitchCase() local 269 access_chain, idx, insts_to_be_cloned, merge_block->id(), in ReplaceNonUniformAccessWithSwitchCase() 272 function->InsertBasicBlockBefore(std::move(case_block), merge_block); in ReplaceNonUniformAccessWithSwitchCase() local 285 merge_block->id())); in ReplaceNonUniformAccessWithSwitchCase() 287 function->InsertBasicBlockBefore(std::move(default_block), merge_block); in ReplaceNonUniformAccessWithSwitchCase() local 293 merge_block->id(), case_block_ids); in ReplaceNonUniformAccessWithSwitchCase() 297 uint32_t phi_id = CreatePhiInstruction(merge_block, phi_operands, in ReplaceNonUniformAccessWithSwitchCase() 302 // Replace OpPhi incoming block operand that uses |block| with |merge_block| in ReplaceNonUniformAccessWithSwitchCase() 303 ReplacePhiIncomingBlock(block->id(), merge_block->id()); in ReplaceNonUniformAccessWithSwitchCase()
|
/third_party/spirv-tools/source/opt/ |
H A D | merge_return_pass.cpp | 271 void MergeReturnPass::CreatePhiNodesForInst(BasicBlock* merge_block, in CreatePhiNodesForInst() argument 274 context()->GetDominatorAnalysis(merge_block->GetParent()); in CreatePhiNodesForInst() 312 const std::set<uint32_t>& new_edges = new_edges_[merge_block]; in CreatePhiNodesForInst() 316 std::vector<uint32_t> preds = cfg()->preds(merge_block->id()); in CreatePhiNodesForInst() 350 Instruction* insert_pos = &*merge_block->begin(); in CreatePhiNodesForInst() 356 context()->set_instr_block(new_phi, merge_block); in CreatePhiNodesForInst() 358 new_phi->ForEachInId([dom_tree, merge_block, this](uint32_t* use_id) { in CreatePhiNodesForInst() 361 if (use_bb != nullptr && !dom_tree->Dominates(use_bb, merge_block)) { in CreatePhiNodesForInst() 362 CreatePhiNodesForInst(merge_block, *use); in CreatePhiNodesForInst() 367 context(), &*merge_block in CreatePhiNodesForInst() 460 BasicBlock* merge_block = context()->get_instr_block(merge_block_id); BreakFromConstruct() local [all...] |
H A D | replace_desc_array_access_using_var_index.cpp | 263 auto* merge_block = SeparateInstructionsIntoNewBlock( in ReplaceNonUniformAccessWithSwitchCase() 274 access_chain, idx, insts_to_be_cloned, merge_block->id(), in ReplaceNonUniformAccessWithSwitchCase() 277 function->InsertBasicBlockBefore(std::move(case_block), merge_block); in ReplaceNonUniformAccessWithSwitchCase() local 290 merge_block->id())); in ReplaceNonUniformAccessWithSwitchCase() 292 function->InsertBasicBlockBefore(std::move(default_block), merge_block); in ReplaceNonUniformAccessWithSwitchCase() local 298 merge_block->id(), case_block_ids); in ReplaceNonUniformAccessWithSwitchCase() 302 uint32_t phi_id = CreatePhiInstruction(merge_block, phi_operands, in ReplaceNonUniformAccessWithSwitchCase() 307 // Replace OpPhi incoming block operand that uses |block| with |merge_block| in ReplaceNonUniformAccessWithSwitchCase() 308 ReplacePhiIncomingBlock(block->id(), merge_block->id()); in ReplaceNonUniformAccessWithSwitchCase()
|
/third_party/spirv-tools/source/val/ |
H A D | function.cpp | 71 BasicBlock& merge_block = blocks_.at(merge_id); in RegisterLoopMerge() local 75 current_block_->RegisterStructuralSuccessor(&merge_block); in RegisterLoopMerge() 79 merge_block.set_type(kBlockTypeMerge); in RegisterLoopMerge() 82 AddConstruct({ConstructType::kLoop, current_block_, &merge_block}); in RegisterLoopMerge() 88 merge_block_header_[&merge_block] = current_block_; in RegisterLoopMerge() 101 BasicBlock& merge_block = blocks_.at(merge_id); in RegisterSelectionMerge() local 103 merge_block.set_type(kBlockTypeMerge); in RegisterSelectionMerge() 104 merge_block_header_[&merge_block] = current_block_; in RegisterSelectionMerge() 105 current_block_->RegisterStructuralSuccessor(&merge_block); in RegisterSelectionMerge() 107 AddConstruct({ConstructType::kSelection, current_block(), &merge_block}); in RegisterSelectionMerge() [all...] |
/third_party/skia/third_party/externals/spirv-tools/source/val/ |
H A D | function.cpp | 72 BasicBlock& merge_block = blocks_.at(merge_id); in RegisterLoopMerge() local 78 merge_block.set_type(kBlockTypeMerge); in RegisterLoopMerge() 81 AddConstruct({ConstructType::kLoop, current_block_, &merge_block}); in RegisterLoopMerge() 87 merge_block_header_[&merge_block] = current_block_; in RegisterLoopMerge() 100 BasicBlock& merge_block = blocks_.at(merge_id); in RegisterSelectionMerge() local 102 merge_block.set_type(kBlockTypeMerge); in RegisterSelectionMerge() 103 merge_block_header_[&merge_block] = current_block_; in RegisterSelectionMerge() 105 AddConstruct({ConstructType::kSelection, current_block(), &merge_block}); in RegisterSelectionMerge()
|
/third_party/skia/third_party/externals/swiftshader/third_party/SPIRV-Tools/source/val/ |
H A D | function.cpp | 72 BasicBlock& merge_block = blocks_.at(merge_id); in RegisterLoopMerge() local 78 merge_block.set_type(kBlockTypeMerge); in RegisterLoopMerge() 81 AddConstruct({ConstructType::kLoop, current_block_, &merge_block}); in RegisterLoopMerge() 87 merge_block_header_[&merge_block] = current_block_; in RegisterLoopMerge() 100 BasicBlock& merge_block = blocks_.at(merge_id); in RegisterSelectionMerge() local 102 merge_block.set_type(kBlockTypeMerge); in RegisterSelectionMerge() 103 merge_block_header_[&merge_block] = current_block_; in RegisterSelectionMerge() 105 AddConstruct({ConstructType::kSelection, current_block(), &merge_block}); in RegisterSelectionMerge()
|