Make assertion stricter. Since the source operands are allocated at
authorAlkis Evlogimenos <alkis@evlogimenos.com>
Fri, 5 Dec 2003 11:31:39 +0000 (11:31 +0000)
committerAlkis Evlogimenos <alkis@evlogimenos.com>
Fri, 5 Dec 2003 11:31:39 +0000 (11:31 +0000)
this point, the second operand must be a physical register (it cannot
be a virtual one).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10292 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAllocLocal.cpp

index 080e6c69c0bcc2706f7ede1292e5bd81aa9fa13d..d1a6df09cc470160953171be2fb340143ad7ada7 100644 (file)
@@ -583,7 +583,7 @@ void RA::AllocateBasicBlock(MachineBasicBlock &MBB) {
         if (TM->getInstrInfo().isTwoAddrInstr(MI->getOpcode()) && i == 0) {
           // must be same register number as the first operand
           // This maps a = b + c into b += c, and saves b into a's spot
-          assert(MI->getOperand(1).isRegister()  &&
+          assert(MI->getOperand(1).isPhysicalRegister()  &&
                  MI->getOperand(1).getAllocatedRegNum() &&
                  MI->getOperand(1).opIsUse() &&
                  "Two address instruction invalid!");