Implicit defs/uses list may be empty.
[oota-llvm.git] / lib / CodeGen / RegAllocSimple.cpp
index 34d4d57da055af0992b1c0ef1c5366fa9668f30c..ffb6e97b19d1e06265e59ed9bf81717ec460340e 100644 (file)
@@ -92,13 +92,13 @@ namespace {
     void invalidatePhysRegs(const MachineInstr *MI) {
       unsigned Opcode = MI->getOpcode();
       const MachineInstrDescriptor &Desc = TM.getInstrInfo().get(Opcode);
-      const unsigned *regs = Desc.ImplicitUses;
-      while (*regs)
-        RegsUsed.insert(*regs++);
+      if (const unsigned *regs = Desc.ImplicitUses)
+        while (*regs)
+          RegsUsed.insert(*regs++);
 
-      regs = Desc.ImplicitDefs;
-      while (*regs)
-        RegsUsed.insert(*regs++);
+      if (const unsigned *regs = Desc.ImplicitDefs)
+        while (*regs)
+          RegsUsed.insert(*regs++);
     }
 
     void cleanupAfterFunction() {