Home
last modified time | relevance | path

Searched refs:mergeBlock (Results 1 – 13 of 13) sorted by relevance

/third_party/glslang/SPIRV/
DInReadableOrder.cpp81 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()
DSpvBuilder.cpp3343 mergeBlock = new Block(builder.getUniqueId(), *function); in If()
3357 builder.createBranch(mergeBlock); in makeBeginElse()
3371 builder.createBranch(mergeBlock); in makeEndIf()
3375 builder.createSelectionMerge(mergeBlock, control); in makeEndIf()
3379 builder.createConditionalBranch(condition, thenBlock, mergeBlock); in makeEndIf()
3382 function->addBlock(mergeBlock); in makeEndIf()
3383 builder.setBuildPoint(mergeBlock); in makeEndIf()
3397 Block* mergeBlock = new Block(getUniqueId(), function); in makeSwitch() local
3400 createSelectionMerge(mergeBlock, control); in makeSwitch()
3405 auto defaultOrMerge = (defaultSegment >= 0) ? segmentBlocks[defaultSegment] : mergeBlock; in makeSwitch()
[all …]
DSpvBuilder.h600 Block* mergeBlock; variable
849 void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control,
871 void createSelectionMerge(Block* mergeBlock, unsigned int control);
/third_party/skia/third_party/externals/swiftshader/src/Pipeline/
DSpirvShaderControlFlow.cpp57 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 …d(), "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); // Stop traversal at mergeBlock. in EmitLoop()
[all …]
DSpirvShader.hpp411 ID mergeBlock; // Structured flow merge block. member in sw::SpirvShader::Block
/third_party/skia/third_party/externals/angle2/src/compiler/translator/
DBuildSPIRV.h367 spirv::IdRef mergeBlock);
371 spirv::IdRef mergeBlock);
374 spirv::IdRef mergeBlock);
380 spirv::IdRef mergeBlock);
DBuildSPIRV.cpp1790 spirv::IdRef mergeBlock) in writeBranchConditional() argument
1797 spirv::WriteSelectionMerge(getSpirvCurrentFunctionBlock(), mergeBlock, in writeBranchConditional()
1813 const spirv::IdRef mergeBlock = getCurrentConditional()->blockIds.back(); in writeBranchConditionalBlockEnd() local
1815 spirv::WriteBranch(getSpirvCurrentFunctionBlock(), mergeBlock); in writeBranchConditionalBlockEnd()
1825 spirv::IdRef mergeBlock) in writeLoopHeader() argument
1843 spirv::WriteLoopMerge(getSpirvCurrentFunctionBlock(), mergeBlock, continueBlock, in writeLoopHeader()
1854 spirv::IdRef mergeBlock) in writeLoopConditionEnd() argument
1863 mergeBlock, {}); in writeLoopConditionEnd()
1904 spirv::IdRef mergeBlock) in writeSwitch() argument
1911 spirv::WriteSelectionMerge(getSpirvCurrentFunctionBlock(), mergeBlock, in writeSwitch()
DOutputSPIRV.cpp1961 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()
[all …]
/third_party/skia/third_party/externals/angle2/src/common/spirv/
Dspirv_instruction_parser_autogen.h907 IdRef *mergeBlock,
911 IdRef *mergeBlock,
Dspirv_instruction_builder_autogen.h776 IdRef mergeBlock,
779 void WriteSelectionMerge(Blob *blob, IdRef mergeBlock, spv::SelectionControlMask selectionControl);
Dspirv_instruction_builder_autogen.cpp2690 IdRef mergeBlock, in WriteLoopMerge() argument
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()
Dspirv_instruction_parser_autogen.cpp3223 IdRef *mergeBlock, in ParseLoopMerge() argument
3232 *mergeBlock = IdRef(_instruction[_o++]); in ParseLoopMerge()
3237 IdRef *mergeBlock, in ParseSelectionMerge() argument
3245 *mergeBlock = IdRef(_instruction[_o++]); in ParseSelectionMerge()
/third_party/skia/third_party/externals/swiftshader/src/Reactor/
DLLVMReactor.cpp1128 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()