Home
last modified time | relevance | path

Searched refs:OpLoopMerge (Results 1 - 25 of 77) sorted by relevance

1234

/third_party/spirv-tools/source/opt/
H A Dbasic_block.cpp57 if (opcode == spv::Op::OpLoopMerge || opcode == spv::Op::OpSelectionMerge) { in GetMergeInst()
72 if (opcode == spv::Op::OpLoopMerge || opcode == spv::Op::OpSelectionMerge) { in GetMergeInst()
81 if (merge->opcode() == spv::Op::OpLoopMerge) { in GetLoopMergeInst()
90 if (merge->opcode() == spv::Op::OpLoopMerge) { in GetLoopMergeInst()
171 ii->opcode() == spv::Op::OpLoopMerge) { in ForMergeAndContinueLabel()
182 if (merge_ii->opcode() == spv::Op::OpLoopMerge) { in MergeBlockIdIfAny()
204 if (merge_ii->opcode() == spv::Op::OpLoopMerge) { in ContinueBlockIdIfAny()
H A Dblock_merge_util.cpp39 if ((op == spv::Op::OpLoopMerge || op == spv::Op::OpSelectionMerge) && in IsMerge()
57 if (op == spv::Op::OpLoopMerge && index == 1u) { in IsContinue()
118 // OpLoopMerge must be followed by a conditional or unconditional branch. in CanMergeWithSuccessor()
123 assert(merge_inst->opcode() == spv::Op::OpLoopMerge); in CanMergeWithSuccessor()
196 // the validation error that OpLine is placed between OpLoopMerge in MergeWithSuccessor()
H A Daggressive_dead_code_elim_pass.cpp209 mergeInst->opcode() == spv::Op::OpLoopMerge); in AddBreaksAndContinuesToWorklist()
225 if (mergeInst->opcode() != spv::Op::OpLoopMerge) { in AddBreaksAndContinuesToWorklist()
253 if (hdrMerge->opcode() == spv::Op::OpLoopMerge) return; in AddBreaksAndContinuesToWorklist()
284 inst->opcode() == spv::Op::OpLoopMerge) in KillDeadInstructions()
497 if (inst->opcode() == spv::Op::OpLoopMerge || in MarkBlockAsLive()
553 case spv::Op::OpLoopMerge: in InitializeWorkList()
H A Dlicm_pass.cpp128 if (previous_node && (previous_node->opcode() == spv::Op::OpLoopMerge || in HoistInstruction()
H A Dmerge_return_pass.cpp77 if (mergeInst->opcode() == spv::Op::OpLoopMerge) { in GenerateState()
86 if (lastMergeInst && lastMergeInst->opcode() == spv::Op::OpLoopMerge) in GenerateState()
486 if (break_merge_inst->opcode() == spv::Op::OpLoopMerge && in BreakFromConstruct()
H A Dstruct_cfg_analysis.cpp84 if (merge_inst->opcode() == spv::Op::OpLoopMerge) { in AddBlocksInFunction()
H A Dmodule.cpp228 } else if (opcode == spv::Op::OpLoopMerge || in ToBinary()
H A Dinline_pass.cpp79 context(), spv::Op::OpLoopMerge, 0, 0, in AddLoopMerge()
497 // Move the OpLoopMerge from the last block back to the first, where in MoveLoopMergeInstToFirstBlock()
506 assert(loop_merge_itr->opcode() == spv::Op::OpLoopMerge); in MoveLoopMergeInstToFirstBlock()
567 // normal inlining logic will place the OpLoopMerge in the last of several in GenInlineCode()
569 // block. We'll wait to move the OpLoopMerge until the end of the regular in GenInlineCode()
605 // will move the caller's OpLoopMerge from the last generated in GenInlineCode()
/third_party/spirv-tools/source/val/
H A Dconstruct.cpp166 if ((use.first->opcode() == spv::Op::OpLoopMerge || in IsStructuredExit()
185 if (merge_inst->opcode() == spv::Op::OpLoopMerge || in IsStructuredExit()
196 if ((!seen_switch || merge_inst->opcode() == spv::Op::OpLoopMerge) && in IsStructuredExit()
199 } else if (merge_inst->opcode() == spv::Op::OpLoopMerge) { in IsStructuredExit()
211 if (merge_inst->opcode() == spv::Op::OpLoopMerge) return false; in IsStructuredExit()
H A Dvalidate_adjacency.cpp78 case spv::Op::OpLoopMerge: in ValidateAdjacency()
87 << "OpLoopMerge must immediately precede either an " in ValidateAdjacency()
89 << "OpLoopMerge must be the second-to-last instruction in " in ValidateAdjacency()
H A Dvalidate_cfg.cpp285 << "Merge Block may not be the block containing the OpLoopMerge\n"; in ValidateLoopMerge()
652 } else if (merge->opcode() == spv::Op::OpLoopMerge) { in ValidateStructuredSelections()
671 if ((!merge || merge->opcode() == spv::Op::OpLoopMerge) && in ValidateStructuredSelections()
807 merge_inst.opcode() == spv::Op::OpLoopMerge) { in StructuredControlFlowChecks()
1017 case spv::Op::OpLoopMerge: { in CfgPass()
1163 case spv::Op::OpLoopMerge: in ControlFlowPass()
H A Dvalidate_id.cpp182 opcode != spv::Op::OpLoopMerge && in IdPass()
/third_party/spirv-tools/source/fuzz/
H A Dfuzzer_pass_adjust_loop_controls.cpp37 if (merge_inst->opcode() != spv::Op::OpLoopMerge) { in Apply()
H A Dtransformation_set_loop_control.cpp35 // |message_.block_id| must identify a block that ends with OpLoopMerge. in IsApplicable()
41 if (!merge_inst || merge_inst->opcode() != spv::Op::OpLoopMerge) { in IsApplicable()
63 // Grab the loop control mask currently associated with the OpLoopMerge in IsApplicable()
124 // We are going to replace the OpLoopMerge's operands with this list. in Apply()
137 // of loop iterations, we need to keep, from the original OpLoopMerge, any in Apply()
175 // Replace the input operands of the OpLoopMerge with the new operands we have in Apply()
H A Dtransformation_add_loop_to_create_int_constant_synonym.cpp316 // Define the OpLoopMerge instruction for the loop header. The merge block is in Apply()
320 ir_context, spv::Op::OpLoopMerge, 0, 0, in Apply()
389 assert(instruction->opcode() != spv::Op::OpLoopMerge && in Apply()
391 "The block should not be referenced by OpLoopMerge or " in Apply()
H A Dtransformation_add_loop_preheader.cpp124 use_inst->opcode() != spv::Op::OpLoopMerge) { in Apply()
H A Dtransformation_replace_boolean_constant_with_constant_binary.cpp299 (previous_node->opcode() == spv::Op::OpLoopMerge || in ApplyWithResult()
/third_party/spirv-tools/test/
H A Dtext_to_binary.control_flow_test.cpp79 // Test OpLoopMerge
87 input << "OpLoopMerge %merge %continue " << ctrl.name(); in TEST_P()
90 Eq(MakeInstruction(spv::Op::OpLoopMerge, {1, 2, ctrl.value()}, in TEST_P()
126 const std::string input = "OpLoopMerge %merge %continue Unroll|DontUnroll"; in TEST_F()
130 Eq(MakeInstruction(spv::Op::OpLoopMerge, {1, 2, expected_mask}))); in TEST_F()
134 EXPECT_THAT(CompileFailure("OpLoopMerge %m %c none"), in TEST_F()
422 // TODO(dneto): OpLoopMerge
/third_party/glslang/SPIRV/
H A DInReadableOrder.cpp88 if (mergeInst->getOpCode() == spv::OpLoopMerge) { in visit()
/third_party/spirv-tools/source/reduce/
H A Dremove_selection_reduction_opportunity_finder.cpp39 if (merge_instruction->opcode() == spv::Op::OpLoopMerge) { in GetAvailableOpportunities()
H A Dremove_unused_instruction_reduction_opportunity_finder.cpp107 inst.opcode() == spv::Op::OpLoopMerge) { in GetAvailableOpportunities()
/third_party/spirv-tools/tools/cfg/
H A Dbin_to_dot.cpp118 case spv::Op::OpLoopMerge: in HandleInstruction()
/third_party/spirv-tools/source/
H A Doperand.cpp528 case spv::Op::OpLoopMerge: in spvOperandCanBeForwardDeclaredFunction()
/third_party/skia/third_party/externals/swiftshader/src/Pipeline/
H A DSpirvShaderControlFlow.cpp54 case spv::OpLoopMerge: in Block()
80 case spv::OpLoopMerge: in Block()
/third_party/spirv-tools/test/fuzz/
H A Dtransformation_add_synonym_test.cpp914 OpLoopMerge %32 %47 None in TEST()
1063 // Inapplicable because the insert point is right after an OpLoopMerge in TEST()
1070 // OK, because the insert point is right before the OpLoopMerge in TEST()
1073 MakeInstructionDescriptor(40, spv::Op::OpLoopMerge, 0)) in TEST()
1079 MakeInstructionDescriptor(40, spv::Op::OpLoopMerge, 0)) in TEST()

Completed in 23 milliseconds

1234