Lines Matching full:operands

78     spirv::Opcode &opcode, ArrayRef<uint32_t> &operands,
101 operands = binary.slice(curOffset + 1, wordCount - 1);
107 spirv::Opcode opcode, ArrayRef<uint32_t> operands, bool deferInstructions) {
115 return processCapability(operands);
117 return processExtension(operands);
119 return processExtInst(operands);
121 return processExtInstImport(operands);
123 return processMemberName(operands);
125 return processMemoryModel(operands);
129 deferredInstructions.emplace_back(opcode, operands);
135 return processGlobalVariable(operands);
139 return processDebugLine(operands);
144 return processName(operands);
146 return processDebugString(operands);
168 return processType(opcode, operands);
170 return processTypeForwardPointer(operands);
172 return processConstant(operands, /*isSpec=*/false);
174 return processConstant(operands, /*isSpec=*/true);
176 return processConstantComposite(operands);
178 return processSpecConstantComposite(operands);
180 return processSpecConstantOperation(operands);
182 return processConstantBool(/*isTrue=*/true, operands, /*isSpec=*/false);
184 return processConstantBool(/*isTrue=*/true, operands, /*isSpec=*/true);
186 return processConstantBool(/*isTrue=*/false, operands, /*isSpec=*/false);
188 return processConstantBool(/*isTrue=*/false, operands, /*isSpec=*/true);
190 return processConstantNull(operands);
192 return processDecoration(operands);
194 return processMemberDecoration(operands);
196 return processFunction(operands);
198 return processLabel(operands);
200 return processBranch(operands);
202 return processBranchConditional(operands);
204 return processSelectionMerge(operands);
206 return processLoopMerge(operands);
208 return processPhi(operands);
210 return processUndef(operands);
214 return dispatchToAutogenDeserialization(opcode, operands);
247 SmallVector<Value, 4> operands;
250 // Decode operands
257 operands.push_back(arg);
262 "found less operands than expected when deserializing for ")
269 "found more operands than expected when deserializing for ")
283 opState.addOperands(operands);
297 LogicalResult spirv::Deserializer::processUndef(ArrayRef<uint32_t> operands) {
298 if (operands.size() != 2) {
299 return emitError(unknownLoc, "OpUndef instruction must have two operands");
301 auto type = getType(operands[0]);
305 undefMap[operands[1]] = type;
309 LogicalResult spirv::Deserializer::processExtInst(ArrayRef<uint32_t> operands) {
310 if (operands.size() < 4) {
312 "OpExtInst must have at least 4 operands, result type "
315 if (!extendedInstSets.count(operands[2])) {
319 slicedOperands.append(operands.begin(), std::next(operands.begin(), 2));
320 slicedOperands.append(std::next(operands.begin(), 4), operands.end());
322 extendedInstSets[operands[2]], operands[3], slicedOperands);
412 Deserializer::processOp<spirv::FunctionCallOp>(ArrayRef<uint32_t> operands) {
413 if (operands.size() < 3) {
415 "OpFunctionCall must have at least 3 operands");
418 Type resultType = getType(operands[0]);
421 << operands[0];
428 auto resultID = operands[1];
429 auto functionID = operands[2];
434 for (auto operand : llvm::drop_begin(operands, 3)) {
457 SmallVector<Value, 4> operands;
468 operands.push_back(arg);
480 operands.push_back(arg);
514 "found more operands than expected when deserializing "
520 opBuilder.create<spirv::CopyMemoryOp>(loc, resultTypes, operands, attributes);
535 SmallVector<Value, 4> operands;
548 operands.push_back(arg);
552 loc, resultTypes, operands);