diff options
Diffstat (limited to 'backend/lib/CodeGen/InstructionDescriptor.cpp')
| -rw-r--r-- | backend/lib/CodeGen/InstructionDescriptor.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/backend/lib/CodeGen/InstructionDescriptor.cpp b/backend/lib/CodeGen/InstructionDescriptor.cpp index 48d4f10..fa00537 100644 --- a/backend/lib/CodeGen/InstructionDescriptor.cpp +++ b/backend/lib/CodeGen/InstructionDescriptor.cpp @@ -395,8 +395,12 @@ Expected<void> InstructionSet::validateExplicitOperands(const InstructionDescrip } const OperandDescriptor &OperandDesc = descriptorForOperand(Descriptor, *Shape, Index); const auto Validation = validateOperand(OperandDesc, Operand, RegInfo); - if (!Validation) - return std::unexpected(Validation.error()); + if (!Validation) { + return makeUnexpected( + Validation.error().code(), + "operand " + std::to_string(Index) + " of '" + Descriptor.Name + "': " + + std::string(Validation.error().message())); + } if (Operand.isRegister()) { if (isDefRole(OperandDesc.RegisterRole)) { if (SawUse) { |
