/third_party/spirv-tools/source/opt/ |
H A D | basic_block.cpp | 57 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 D | block_merge_util.cpp | 39 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 D | aggressive_dead_code_elim_pass.cpp | 209 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 D | licm_pass.cpp | 128 if (previous_node && (previous_node->opcode() == spv::Op::OpLoopMerge || in HoistInstruction()
|
H A D | merge_return_pass.cpp | 77 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 D | struct_cfg_analysis.cpp | 84 if (merge_inst->opcode() == spv::Op::OpLoopMerge) { in AddBlocksInFunction()
|
H A D | module.cpp | 228 } else if (opcode == spv::Op::OpLoopMerge || in ToBinary()
|
H A D | inline_pass.cpp | 79 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 D | construct.cpp | 166 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 D | validate_adjacency.cpp | 78 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 D | validate_cfg.cpp | 285 << "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 D | validate_id.cpp | 182 opcode != spv::Op::OpLoopMerge && in IdPass()
|
/third_party/spirv-tools/source/fuzz/ |
H A D | fuzzer_pass_adjust_loop_controls.cpp | 37 if (merge_inst->opcode() != spv::Op::OpLoopMerge) { in Apply()
|
H A D | transformation_set_loop_control.cpp | 35 // |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 D | transformation_add_loop_to_create_int_constant_synonym.cpp | 316 // 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 D | transformation_add_loop_preheader.cpp | 124 use_inst->opcode() != spv::Op::OpLoopMerge) { in Apply()
|
H A D | transformation_replace_boolean_constant_with_constant_binary.cpp | 299 (previous_node->opcode() == spv::Op::OpLoopMerge || in ApplyWithResult()
|
/third_party/spirv-tools/test/ |
H A D | text_to_binary.control_flow_test.cpp | 79 // 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 D | InReadableOrder.cpp | 88 if (mergeInst->getOpCode() == spv::OpLoopMerge) { in visit()
|
/third_party/spirv-tools/source/reduce/ |
H A D | remove_selection_reduction_opportunity_finder.cpp | 39 if (merge_instruction->opcode() == spv::Op::OpLoopMerge) { in GetAvailableOpportunities()
|
H A D | remove_unused_instruction_reduction_opportunity_finder.cpp | 107 inst.opcode() == spv::Op::OpLoopMerge) { in GetAvailableOpportunities()
|
/third_party/spirv-tools/tools/cfg/ |
H A D | bin_to_dot.cpp | 118 case spv::Op::OpLoopMerge: in HandleInstruction()
|
/third_party/spirv-tools/source/ |
H A D | operand.cpp | 528 case spv::Op::OpLoopMerge: in spvOperandCanBeForwardDeclaredFunction()
|
/third_party/skia/third_party/externals/swiftshader/src/Pipeline/ |
H A D | SpirvShaderControlFlow.cpp | 54 case spv::OpLoopMerge: in Block() 80 case spv::OpLoopMerge: in Block()
|
/third_party/spirv-tools/test/fuzz/ |
H A D | transformation_add_synonym_test.cpp | 914 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()
|