/external/deqp-deps/glslang/SPIRV/ |
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()
|
D | SpvBuilder.cpp | 2594 mergeBlock = new Block(builder.getUniqueId(), *function); in If() 2608 builder.createBranch(mergeBlock); in makeBeginElse() 2622 builder.createBranch(mergeBlock); in makeEndIf() 2626 builder.createSelectionMerge(mergeBlock, control); in makeEndIf() 2630 builder.createConditionalBranch(condition, thenBlock, mergeBlock); in makeEndIf() 2633 function->addBlock(mergeBlock); in makeEndIf() 2634 builder.setBuildPoint(mergeBlock); in makeEndIf() 2648 Block* mergeBlock = new Block(getUniqueId(), function); in makeSwitch() local 2651 createSelectionMerge(mergeBlock, control); in makeSwitch() 2656 auto defaultOrMerge = (defaultSegment >= 0) ? segmentBlocks[defaultSegment] : mergeBlock; in makeSwitch() [all …]
|
D | SpvBuilder.h | 522 Block* mergeBlock; variable 771 void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, 793 void createSelectionMerge(Block* mergeBlock, unsigned int control);
|
/external/angle/third_party/vulkan-deps/glslang/src/SPIRV/ |
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()
|
D | SpvBuilder.cpp | 2598 mergeBlock = new Block(builder.getUniqueId(), *function); in If() 2612 builder.createBranch(mergeBlock); in makeBeginElse() 2626 builder.createBranch(mergeBlock); in makeEndIf() 2630 builder.createSelectionMerge(mergeBlock, control); in makeEndIf() 2634 builder.createConditionalBranch(condition, thenBlock, mergeBlock); in makeEndIf() 2637 function->addBlock(mergeBlock); in makeEndIf() 2638 builder.setBuildPoint(mergeBlock); in makeEndIf() 2652 Block* mergeBlock = new Block(getUniqueId(), function); in makeSwitch() local 2655 createSelectionMerge(mergeBlock, control); in makeSwitch() 2660 auto defaultOrMerge = (defaultSegment >= 0) ? segmentBlocks[defaultSegment] : mergeBlock; in makeSwitch() [all …]
|
D | SpvBuilder.h | 522 Block* mergeBlock; variable 771 void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, 793 void createSelectionMerge(Block* mergeBlock, unsigned int control);
|
/external/llvm-project/mlir/lib/Conversion/SCFToSPIRV/ |
D | SCFToSPIRV.cpp | 174 auto *mergeBlock = loopOp.getMergeBlock(); in matchAndRewrite() local 179 loc, cmpOp, body, ArrayRef<Value>(), mergeBlock, ArrayRef<Value>()); in matchAndRewrite() 220 auto *mergeBlock = in matchAndRewrite() local 232 rewriter.create<spirv::BranchOp>(loc, mergeBlock); in matchAndRewrite() 233 rewriter.inlineRegionBefore(thenRegion, mergeBlock); in matchAndRewrite() 235 auto *elseBlock = mergeBlock; in matchAndRewrite() 242 rewriter.create<spirv::BranchOp>(loc, mergeBlock); in matchAndRewrite() 243 rewriter.inlineRegionBefore(elseRegion, mergeBlock); in matchAndRewrite()
|
/external/swiftshader/src/Pipeline/ |
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 …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 …]
|
D | SpirvShader.hpp | 373 ID mergeBlock; // Structured flow merge block. member in sw::SpirvShader::Block
|
/external/llvm-project/mlir/lib/Dialect/SPIRV/ |
D | SPIRVCanonicalization.cpp | 318 auto *mergeBlock = selectionOp.getMergeBlock(); in matchAndRewrite() local 320 if (failed(canCanonicalizeSelection(trueBlock, falseBlock, mergeBlock))) in matchAndRewrite() 348 Block *mergeBlock) const; 374 Block *trueBlock, Block *falseBlock, Block *mergeBlock) const { in canCanonicalizeSelection() 410 if ((trueBrBranchOp->getSuccessor(0) != mergeBlock) || in canCanonicalizeSelection() 411 (falseBrBranchOp->getSuccessor(0) != mergeBlock)) { in canCanonicalizeSelection()
|
D | SPIRVOps.cpp | 2397 auto *mergeBlock = new Block(); in addEntryAndMergeBlock() local 2398 body().push_back(mergeBlock); in addEntryAndMergeBlock() 2399 OpBuilder builder = OpBuilder::atBlockEnd(mergeBlock); in addEntryAndMergeBlock() 2723 auto *mergeBlock = new Block(); in addMergeBlock() local 2724 body().push_back(mergeBlock); in addMergeBlock() 2725 OpBuilder builder = OpBuilder::atBlockEnd(mergeBlock); in addMergeBlock() 2739 Block *mergeBlock = selectionOp.getMergeBlock(); in createIfThen() local 2745 thenBlock = builder.createBlock(mergeBlock); in createIfThen() 2747 builder.create<spirv::BranchOp>(loc, mergeBlock); in createIfThen() 2756 /*trueArguments=*/ArrayRef<Value>(), mergeBlock, in createIfThen()
|
/external/llvm-project/mlir/lib/Dialect/SPIRV/Serialization/ |
D | Deserializer.cpp | 64 Block *mergeBlock; member 70 : mergeBlock(nullptr), continueBlock(nullptr), loc(location), in BlockMergeInfo() 74 : mergeBlock(m), continueBlock(c), loc(location), control(control) {} in BlockMergeInfo() 1855 auto *mergeBlock = getOrCreateBlock(operands[0]); in processSelectionMerge() local 1859 if (!blockMergeInfo.try_emplace(curBlock, loc, selectionControl, mergeBlock) in processSelectionMerge() 1879 auto *mergeBlock = getOrCreateBlock(operands[0]); in processLoopMerge() local 1885 .try_emplace(curBlock, loc, loopControl, mergeBlock, continueBlock) in processLoopMerge() 1940 Block *headerBlock, Block *mergeBlock, in structurize() argument 1943 mergeBlock, continueBlock) in structurize() 1952 headerBlock(header), mergeBlock(merge), continueBlock(cont) {} in ControlFlowStructurizer() [all …]
|
D | Serializer.cpp | 1719 auto *mergeBlock = selectionOp.getMergeBlock(); in processSelectionOp() local 1720 auto mergeID = getBlockID(mergeBlock); in processSelectionOp() 1747 /*skipHeader=*/true, /*skipBlocks=*/{mergeBlock}))) in processSelectionOp() 1768 auto *mergeBlock = loopOp.getMergeBlock(); in processLoopOp() local 1771 auto mergeID = getBlockID(mergeBlock); in processLoopOp() 1803 /*skipHeader=*/true, /*skipBlocks=*/{continueBlock, mergeBlock}))) in processLoopOp()
|
/external/llvm-project/mlir/lib/Transforms/Utils/ |
D | RegionUtils.cpp | 473 Block *leaderBlock = leaderData.block, *mergeBlock = blockData.block; in addToCluster() local 474 if (leaderBlock->getArgumentTypes() != mergeBlock->getArgumentTypes()) in addToCluster() 501 bool rhsIsInBlock = rhsOperand.getParentBlock() == mergeBlock; in addToCluster() 523 if (rhsIt->isUsedOutsideOfBlock(mergeBlock) || in addToCluster() 570 for (Block *mergeBlock : blocksToMerge) in merge() 571 blockIterators.push_back(mergeBlock->begin()); in merge()
|
/external/angle/src/compiler/translator/ |
D | BuildSPIRV.h | 352 spirv::IdRef mergeBlock); 356 spirv::IdRef mergeBlock); 359 spirv::IdRef mergeBlock); 365 spirv::IdRef mergeBlock);
|
D | BuildSPIRV.cpp | 1597 spirv::IdRef mergeBlock) in writeBranchConditional() argument 1604 spirv::WriteSelectionMerge(getSpirvCurrentFunctionBlock(), mergeBlock, in writeBranchConditional() 1620 const spirv::IdRef mergeBlock = getCurrentConditional()->blockIds.back(); in writeBranchConditionalBlockEnd() local 1622 spirv::WriteBranch(getSpirvCurrentFunctionBlock(), mergeBlock); in writeBranchConditionalBlockEnd() 1632 spirv::IdRef mergeBlock) in writeLoopHeader() argument 1650 spirv::WriteLoopMerge(getSpirvCurrentFunctionBlock(), mergeBlock, continueBlock, in writeLoopHeader() 1661 spirv::IdRef mergeBlock) in writeLoopConditionEnd() argument 1670 mergeBlock, {}); in writeLoopConditionEnd() 1711 spirv::IdRef mergeBlock) in writeSwitch() argument 1718 spirv::WriteSelectionMerge(getSpirvCurrentFunctionBlock(), mergeBlock, in writeSwitch()
|
D | OutputSPIRV.cpp | 1687 const spirv::IdRef mergeBlock = conditional->blockIds.back(); in startShortCircuit() local 1689 const spirv::IdRef trueBlock = node->getOp() == EOpLogicalAnd ? ifBlock : mergeBlock; in startShortCircuit() 1690 const spirv::IdRef falseBlock = node->getOp() == EOpLogicalOr ? ifBlock : mergeBlock; in startShortCircuit() 1694 mBuilder.writeBranchConditional(left, trueBlock, falseBlock, mergeBlock); in startShortCircuit() 4786 const spirv::IdRef mergeBlock = conditional->blockIds.back(); in visitIfElse() local 4787 spirv::IdRef trueBlock = mergeBlock; in visitIfElse() 4788 spirv::IdRef falseBlock = mergeBlock; in visitIfElse() 4800 mBuilder.writeBranchConditional(conditionValue, trueBlock, falseBlock, mergeBlock); in visitIfElse() 4967 const spirv::IdRef mergeBlock = conditional->blockIds.back(); in visitSwitch() local 4970 : mergeBlock; in visitSwitch() [all …]
|
/external/llvm-project/mlir/lib/Conversion/SPIRVToLLVM/ |
D | ConvertSPIRVToLLVM.cpp | 1069 Block *mergeBlock = loopOp.getMergeBlock(); in matchAndRewrite() local 1070 Operation *terminator = mergeBlock->getTerminator(); in matchAndRewrite() 1072 rewriter.setInsertionPointToEnd(mergeBlock); in matchAndRewrite() 1127 auto *mergeBlock = op.getMergeBlock(); in matchAndRewrite() local 1128 Operation *terminator = mergeBlock->getTerminator(); in matchAndRewrite() 1130 rewriter.setInsertionPointToEnd(mergeBlock); in matchAndRewrite()
|
/external/angle/src/common/spirv/ |
D | spirv_instruction_parser_autogen.h | 907 IdRef *mergeBlock, 911 IdRef *mergeBlock,
|
D | spirv_instruction_builder_autogen.h | 776 IdRef mergeBlock, 779 void WriteSelectionMerge(Blob *blob, IdRef mergeBlock, spv::SelectionControlMask selectionControl);
|
D | spirv_instruction_builder_autogen.cpp | 2690 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()
|
D | spirv_instruction_parser_autogen.cpp | 3223 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()
|
/external/swiftshader/src/Reactor/ |
D | LLVMReactor.cpp | 1108 auto mergeBlock = llvm::BasicBlock::Create(*jit->context, "", jit->function); in createMaskedStore() local 1109 …jit->builder->CreateCondBr(jit->builder->CreateExtractElement(i1Mask, idx), thenBlock, mergeBlock); in createMaskedStore() 1117 jit->builder->CreateBr(mergeBlock); in createMaskedStore() 1118 jit->builder->SetInsertPoint(mergeBlock); in createMaskedStore() 1227 auto mergeBlock = llvm::BasicBlock::Create(*jit->context, "", jit->function); in createScatter() local 1228 …jit->builder->CreateCondBr(jit->builder->CreateExtractElement(i1Mask, idx), thenBlock, mergeBlock); in createScatter() 1235 jit->builder->CreateBr(mergeBlock); in createScatter() 1236 jit->builder->SetInsertPoint(mergeBlock); in createScatter()
|