MCPcopy Create free account
hub / github.com/KhronosGroup/glslang / createLoopMerge

Method createLoopMerge

SPIRV/SpvBuilder.cpp:5090–5101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5088}
5089
5090void Builder::createLoopMerge(Block* mergeBlock, Block* continueBlock, LoopControlMask control,
5091 const std::vector<unsigned int>& operands)
5092{
5093 Instruction* merge = new Instruction(Op::OpLoopMerge);
5094 merge->reserveOperands(operands.size() + 3);
5095 merge->addIdOperand(mergeBlock->getId());
5096 merge->addIdOperand(continueBlock->getId());
5097 merge->addImmediateOperand(control);
5098 for (int op = 0; op < (int)operands.size(); ++op)
5099 merge->addImmediateOperand(operands[op]);
5100 addInstruction(std::unique_ptr<Instruction>(merge));
5101}
5102
5103void Builder::createConditionalBranch(Id condition, Block* thenBlock, Block* elseBlock)
5104{

Callers 1

visitLoopMethod · 0.80

Calls 5

reserveOperandsMethod · 0.80
addIdOperandMethod · 0.80
addImmediateOperandMethod · 0.80
sizeMethod · 0.45
getIdMethod · 0.45

Tested by

no test coverage detected