use continue to reduce nesting.
authorChris Lattner <sabre@nondot.org>
Fri, 21 May 2010 18:01:24 +0000 (18:01 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 21 May 2010 18:01:24 +0000 (18:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104330 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86FloatingPointRegKill.cpp

index 34f45fd8cc294f3a194ba5c0dd3025f37489a8a5..97a43f2b95de2cffd7a18eb58f5022583275cd71 100644 (file)
@@ -57,22 +57,25 @@ FunctionPass *llvm::createX87FPRegKillInserterPass() {
 /// stack code, and thus needs an FP_REG_KILL.
 static bool ContainsFPStackCode(MachineBasicBlock *MBB, unsigned SSELevel,
                                 MachineRegisterInfo &MRI) {
-  
+  // Scan the block, looking for instructions that define fp stack vregs.
   for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
        I != E; ++I) {
-    if (I->getNumOperands() != 0 && I->getOperand(0).isReg()) {
-      for (unsigned op = 0, e = I->getNumOperands(); op != e; ++op) {
-        if (I->getOperand(op).isReg() && I->getOperand(op).isDef() &&
-            TargetRegisterInfo::isVirtualRegister(I->getOperand(op).getReg())) {
-          const TargetRegisterClass *RegClass =
-            MRI.getRegClass(I->getOperand(op).getReg());
-          
-          if (RegClass == X86::RFP32RegisterClass ||
-             RegClass == X86::RFP64RegisterClass ||
-             RegClass == X86::RFP80RegisterClass)
-          return true;
-        }
-      }
+    if (I->getNumOperands() == 0 || !I->getOperand(0).isReg())
+      continue;
+    
+    for (unsigned op = 0, e = I->getNumOperands(); op != e; ++op) {
+      if (!I->getOperand(op).isReg() || !I->getOperand(op).isDef() ||
+          !TargetRegisterInfo::isVirtualRegister(I->getOperand(op).getReg()))
+        continue;
+      
+      const TargetRegisterClass *RegClass =
+        MRI.getRegClass(I->getOperand(op).getReg());
+      
+      switch (RegClass->getID())
+      case X86::RFP32RegClassID:
+      case X86::RFP64RegClassID:
+      case X86::RFP80RegClassID:
+      return true;
     }
   }