diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-03 18:31:58 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-03 18:31:58 +0800 |
| commit | 6580ac1c05bd1cbccd2dcd71fd9c2a384ae3db56 (patch) | |
| tree | 3bea5331666575eb6a9cc7aa26842c7387cb372b /backend/lib/CodeGen/TargetDescription.cpp | |
| parent | a8a9d7d926202450645deae872d4d9dc11d63215 (diff) | |
| download | rcc-project-6580ac1c05bd1cbccd2dcd71fd9c2a384ae3db56.tar.gz rcc-project-6580ac1c05bd1cbccd2dcd71fd9c2a384ae3db56.tar.xz | |
[CodeGen] Model complete MIR operands
Diffstat (limited to 'backend/lib/CodeGen/TargetDescription.cpp')
| -rw-r--r-- | backend/lib/CodeGen/TargetDescription.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/backend/lib/CodeGen/TargetDescription.cpp b/backend/lib/CodeGen/TargetDescription.cpp index 3a6ea31..a32534d 100644 --- a/backend/lib/CodeGen/TargetDescription.cpp +++ b/backend/lib/CodeGen/TargetDescription.cpp @@ -203,6 +203,13 @@ Expected<void> TargetDescription::validateTargetOperand(const OperandDescriptor } return Registers.validateRegisterMask(*Mask->Mask); } + if (const auto *Mask = Operand.getIf<LiveOutRegisterMaskOperand>(); Mask != nullptr) { + if (!Mask->Mask) { + return makeUnexpected(ErrorCode::VerificationError, + "live-out register-mask operand contains a null mask"); + } + return Registers.validateRegisterMask(*Mask->Mask); + } const Register *Reg = Operand.getIf<Register>(); if (Reg == nullptr) |
