Fix CodeGen/X86/2007-03-24-InlineAsmPModifier.ll
authorChris Lattner <sabre@nondot.org>
Wed, 11 Apr 2007 22:29:46 +0000 (22:29 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 11 Apr 2007 22:29:46 +0000 (22:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35926 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelDAGToDAG.cpp

index deb197cadd5249b52506e08eb91c538ac259c769..bf08dd8c189f316c01dee7b70f577cab3794dbaf 100644 (file)
@@ -491,13 +491,15 @@ void X86DAGToDAGISel::InstructionSelectBasicBlock(SelectionDAG &DAG) {
     do {
       for (MachineBasicBlock::iterator I = MBBI->begin(), E = MBBI->end();
            !ContainsFPCode && I != E; ++I) {
-        for (unsigned op = 0, e = I->getNumOperands(); op != e; ++op) {
-          if (I->getOperand(op).isRegister() && I->getOperand(op).isDef() &&
-              MRegisterInfo::isVirtualRegister(I->getOperand(op).getReg()) &&
-              RegMap->getRegClass(I->getOperand(0).getReg()) == 
+        if (I->getNumOperands() != 0 && I->getOperand(0).isRegister()) {
+          for (unsigned op = 0, e = I->getNumOperands(); op != e; ++op) {
+            if (I->getOperand(op).isRegister() && I->getOperand(op).isDef() &&
+                MRegisterInfo::isVirtualRegister(I->getOperand(op).getReg()) &&
+                RegMap->getRegClass(I->getOperand(0).getReg()) == 
                 X86::RFPRegisterClass) {
-            ContainsFPCode = true;
-            break;
+              ContainsFPCode = true;
+              break;
+            }
           }
         }
       }