mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-24 08:18:33 +00:00
R600/SI: Add verifier check for immediates in register operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212214 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -559,7 +559,14 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr *MI,
|
||||
// Make sure the register classes are correct
|
||||
for (unsigned i = 0, e = Desc.getNumOperands(); i != e; ++i) {
|
||||
switch (Desc.OpInfo[i].OperandType) {
|
||||
case MCOI::OPERAND_REGISTER:
|
||||
case MCOI::OPERAND_REGISTER: {
|
||||
int RegClass = Desc.OpInfo[i].RegClass;
|
||||
if (!RI.regClassCanUseImmediate(RegClass) &&
|
||||
(MI->getOperand(i).isImm() || MI->getOperand(i).isFPImm())) {
|
||||
ErrInfo = "Expected register, but got immediate";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MCOI::OPERAND_IMMEDIATE:
|
||||
if (!MI->getOperand(i).isImm() && !MI->getOperand(i).isFPImm()) {
|
||||
|
||||
Reference in New Issue
Block a user