/third_party/glslang/SPIRV/ |
H A D | InReadableOrder.cpp | 81 Block* mergeBlock = nullptr; in visit() local 86 mergeBlock = block->getParent().getParent().getInstruction(mergeId)->getBlock(); in visit() 87 delayed_.insert(mergeBlock); in visit() 108 if (mergeBlock) { in visit() 110 (reachableViaControlFlow_.count(mergeBlock) > 0) in visit() 113 delayed_.erase(mergeBlock); in visit() 114 visit(mergeBlock, mergeWhy, block); in visit()
|
H A D | SpvBuilder.cpp | 3477 mergeBlock = new Block(builder.getUniqueId(), *function); in If() 3490 // Close out the "then" by having it jump to the mergeBlock in makeBeginElse() 3491 builder.createBranch(mergeBlock); in makeBeginElse() 3505 builder.createBranch(mergeBlock); in makeEndIf() 3509 builder.createSelectionMerge(mergeBlock, control); in makeEndIf() 3513 builder.createConditionalBranch(condition, thenBlock, mergeBlock); in makeEndIf() 3516 function->addBlock(mergeBlock); in makeEndIf() 3517 builder.setBuildPoint(mergeBlock); in makeEndIf() 3531 Block* mergeBlock = new Block(getUniqueId(), function); in makeSwitch() local 3534 createSelectionMerge(mergeBlock, contro in makeSwitch() 4070 createSelectionMerge(Block* mergeBlock, unsigned int control) createSelectionMerge() argument 4078 createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, const std::vector<unsigned int>& operands) createLoopMerge() argument [all...] |
H A D | SpvBuilder.h | 610 Block* mergeBlock; member in spv::Builder::If 851 void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, 873 void createSelectionMerge(Block* mergeBlock, unsigned int control);
|
/third_party/skia/third_party/externals/swiftshader/src/Pipeline/ |
H A D | SpirvShaderControlFlow.cpp | 57 mergeBlock = Block::ID(mergeInstruction.word(1)); in Block() 77 mergeBlock = Block::ID(mergeInstruction.word(1)); in Block() 83 mergeBlock = Block::ID(mergeInstruction.word(1)); in Block() 106 mergeBlock = Block::ID(mergeInstruction.word(1)); in Block() 152 auto mergeIt = blocks.find(block.mergeBlock); in AssignBlockFields() 153 ASSERT_MSG(mergeIt != blocks.end(), "Loop block %d has a non-existent merge block %d", blockId.value(), block.mergeBlock.value()); in AssignBlockFields() 166 !ExistsPath(blockId, dep, block.mergeBlock)) // or a loop and not a loop back edge in ForeachBlockDependency() 330 auto mergeBlockId = block.mergeBlock; in EmitLoop() 331 auto &mergeBlock = function.getBlock(mergeBlockId); in EmitLoop() local 342 loopBlocks.emplace(block.mergeBlock); // Sto in EmitLoop() [all...] |
H A D | SpirvShader.hpp | 411 ID mergeBlock; // Structured flow merge block.
|
/third_party/skia/third_party/externals/angle2/src/compiler/translator/ |
H A D | BuildSPIRV.h | 367 spirv::IdRef mergeBlock); 371 spirv::IdRef mergeBlock); 374 spirv::IdRef mergeBlock); 380 spirv::IdRef mergeBlock);
|
H A D | BuildSPIRV.cpp | 1790 spirv::IdRef mergeBlock) in writeBranchConditional() 1794 // OpSelectionMerge %mergeBlock None in writeBranchConditional() 1797 spirv::WriteSelectionMerge(getSpirvCurrentFunctionBlock(), mergeBlock, in writeBranchConditional() local 1813 const spirv::IdRef mergeBlock = getCurrentConditional()->blockIds.back(); in writeBranchConditionalBlockEnd() local 1815 spirv::WriteBranch(getSpirvCurrentFunctionBlock(), mergeBlock); in writeBranchConditionalBlockEnd() local 1825 spirv::IdRef mergeBlock) in writeLoopHeader() 1840 // OpLoopMerge %mergeBlock %continueBlock None in writeLoopHeader() 1843 spirv::WriteLoopMerge(getSpirvCurrentFunctionBlock(), mergeBlock, continueBlock, in writeLoopHeader() local 1854 spirv::IdRef mergeBlock) in writeLoopConditionEnd() 1858 // OpBranchConditional %conditionValue %branchToBlock %mergeBlock in writeLoopConditionEnd() 1787 writeBranchConditional(spirv::IdRef conditionValue, spirv::IdRef trueBlock, spirv::IdRef falseBlock, spirv::IdRef mergeBlock) writeBranchConditional() argument 1823 writeLoopHeader(spirv::IdRef branchToBlock, spirv::IdRef continueBlock, spirv::IdRef mergeBlock) writeLoopHeader() argument 1852 writeLoopConditionEnd(spirv::IdRef conditionValue, spirv::IdRef branchToBlock, spirv::IdRef mergeBlock) writeLoopConditionEnd() argument 1863 mergeBlock, {}); writeLoopConditionEnd() local 1901 writeSwitch(spirv::IdRef conditionValue, spirv::IdRef defaultBlock, const spirv::PairLiteralIntegerIdRefList &targetPairList, spirv::IdRef mergeBlock) writeSwitch() argument 1911 spirv::WriteSelectionMerge(getSpirvCurrentFunctionBlock(), mergeBlock, writeSwitch() local [all...] |
H A D | OutputSPIRV.cpp | 1961 const spirv::IdRef mergeBlock = conditional->blockIds.back(); in startShortCircuit() local 1963 const spirv::IdRef trueBlock = node->getOp() == EOpLogicalAnd ? ifBlock : mergeBlock; in startShortCircuit() 1964 const spirv::IdRef falseBlock = node->getOp() == EOpLogicalOr ? ifBlock : mergeBlock; in startShortCircuit() 1968 mBuilder.writeBranchConditional(left, trueBlock, falseBlock, mergeBlock); in startShortCircuit() 5249 const spirv::IdRef mergeBlock = conditional->blockIds.back(); in visitIfElse() local 5250 spirv::IdRef trueBlock = mergeBlock; in visitIfElse() 5251 spirv::IdRef falseBlock = mergeBlock; in visitIfElse() 5263 mBuilder.writeBranchConditional(conditionValue, trueBlock, falseBlock, mergeBlock); in visitIfElse() 5436 const spirv::IdRef mergeBlock = conditional->blockIds.back(); in visitSwitch() local 5439 : mergeBlock; in visitSwitch() 6000 GetLoopBlocks(const SpirvConditional *conditional, TLoopType loopType, bool hasCondition, spirv::IdRef *headerBlock, spirv::IdRef *condBlock, spirv::IdRef *bodyBlock, spirv::IdRef *continueBlock, spirv::IdRef *mergeBlock) GetLoopBlocks() argument 6161 spirv::IdRef headerBlock, condBlock, bodyBlock, continueBlock, mergeBlock; visitLoop() local [all...] |
/third_party/skia/third_party/externals/angle2/src/common/spirv/ |
H A D | spirv_instruction_builder_autogen.h | 776 IdRef mergeBlock, 779 void WriteSelectionMerge(Blob *blob, IdRef mergeBlock, spv::SelectionControlMask selectionControl);
|
H A D | spirv_instruction_parser_autogen.h | 907 IdRef *mergeBlock, 911 IdRef *mergeBlock,
|
H A D | spirv_instruction_builder_autogen.cpp | 2690 IdRef mergeBlock, in WriteLoopMerge() 2696 blob->push_back(mergeBlock); in WriteLoopMerge() 2701 void WriteSelectionMerge(Blob *blob, IdRef mergeBlock, spv::SelectionControlMask selectionControl) in WriteSelectionMerge() argument 2705 blob->push_back(mergeBlock); in WriteSelectionMerge() 2689 WriteLoopMerge(Blob *blob, IdRef mergeBlock, IdRef continueTarget, spv::LoopControlMask loopControl) WriteLoopMerge() argument
|
H A D | spirv_instruction_parser_autogen.cpp | 3223 IdRef *mergeBlock, in ParseLoopMerge() 3232 *mergeBlock = IdRef(_instruction[_o++]); in ParseLoopMerge() 3237 IdRef *mergeBlock, in ParseSelectionMerge() 3245 *mergeBlock = IdRef(_instruction[_o++]); in ParseSelectionMerge() 3222 ParseLoopMerge(const uint32_t *_instruction, IdRef *mergeBlock, IdRef *continueTarget, spv::LoopControlMask *loopControl) ParseLoopMerge() argument 3236 ParseSelectionMerge(const uint32_t *_instruction, IdRef *mergeBlock, spv::SelectionControlMask *selectionControl) ParseSelectionMerge() argument
|
/third_party/skia/third_party/externals/swiftshader/src/Reactor/ |
H A D | LLVMReactor.cpp | 1128 auto mergeBlock = llvm::BasicBlock::Create(*jit->context, "", jit->function); in createMaskedStore() local 1129 jit->builder->CreateCondBr(jit->builder->CreateExtractElement(i1Mask, idx), thenBlock, mergeBlock); in createMaskedStore() 1137 jit->builder->CreateBr(mergeBlock); in createMaskedStore() 1138 jit->builder->SetInsertPoint(mergeBlock); in createMaskedStore() 1247 auto mergeBlock = llvm::BasicBlock::Create(*jit->context, "", jit->function); in createScatter() local 1248 jit->builder->CreateCondBr(jit->builder->CreateExtractElement(i1Mask, idx), thenBlock, mergeBlock); in createScatter() 1255 jit->builder->CreateBr(mergeBlock); in createScatter() 1256 jit->builder->SetInsertPoint(mergeBlock); in createScatter()
|