From: Marek Olsak Date: Wed, 18 Feb 2015 22:12:37 +0000 (+0000) Subject: R600/SI: Remove explicit VOP operand checking X-Git-Tag: llvmorg-3.7.0-rc1~11587 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b8c818337dc1066731c2eabe84054ccb2df43b90;p=platform%2Fupstream%2Fllvm.git R600/SI: Remove explicit VOP operand checking This should be handled by the OperandType checking. llvm-svn: 229750 --- diff --git a/llvm/lib/Target/R600/SIInstrInfo.cpp b/llvm/lib/Target/R600/SIInstrInfo.cpp index 806d422..3ca48c8 100644 --- a/llvm/lib/Target/R600/SIInstrInfo.cpp +++ b/llvm/lib/Target/R600/SIInstrInfo.cpp @@ -1230,34 +1230,6 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr *MI, } } - // Verify SRC1 for VOP2 and VOPC - if (Src1Idx != -1 && (isVOP2(Opcode) || isVOPC(Opcode))) { - const MachineOperand &Src1 = MI->getOperand(Src1Idx); - if (Src1.isImm()) { - ErrInfo = "VOP[2C] src1 cannot be an immediate."; - return false; - } - } - - // Verify VOP3 - if (isVOP3(Opcode)) { - if (Src0Idx != -1 && - isLiteralConstant(MI->getOperand(Src0Idx), getOpSize(Opcode, Src0Idx))) { - ErrInfo = "VOP3 src0 cannot be a literal constant."; - return false; - } - if (Src1Idx != -1 && - isLiteralConstant(MI->getOperand(Src1Idx), getOpSize(Opcode, Src1Idx))) { - ErrInfo = "VOP3 src1 cannot be a literal constant."; - return false; - } - if (Src2Idx != -1 && - isLiteralConstant(MI->getOperand(Src2Idx), getOpSize(Opcode, Src2Idx))) { - ErrInfo = "VOP3 src2 cannot be a literal constant."; - return false; - } - } - // Verify misc. restrictions on specific instructions. if (Desc.getOpcode() == AMDGPU::V_DIV_SCALE_F32 || Desc.getOpcode() == AMDGPU::V_DIV_SCALE_F64) {