if (operands.size() < 2) {
return emitError(
unknownLoc,
- "OpLoopMerge must specify merge target and selection control");
+ "OpSelectionMerge must specify merge target and selection control");
}
- if (static_cast<uint32_t>(spirv::LoopControl::None) != operands[1]) {
+ if (static_cast<uint32_t>(spirv::SelectionControl::None) != operands[1]) {
return emitError(unknownLoc,
"unimplmented OpSelectionMerge selection control: ")
<< operands[2];
auto mergeID = getBlockID(mergeBlock);
// Emit the selection header block, which dominates all other blocks, first.
- // We need to emit an OpSelectionMerge instruction before the loop header
+ // We need to emit an OpSelectionMerge instruction before the selection header
// block's terminator.
auto emitSelectionMerge = [&]() {
- // TODO(antiagainst): properly support loop control here
+ // TODO(antiagainst): properly support selection control here
encodeInstructionInto(
functionBody, spirv::Opcode::OpSelectionMerge,
- {mergeID, static_cast<uint32_t>(spirv::LoopControl::None)});
+ {mergeID, static_cast<uint32_t>(spirv::SelectionControl::None)});
};
// For structured selection, we cannot have blocks in the selection construct
// branching to the selection header block. Entering the selection (and