Implicit defs/uses list may be empty.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5103 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/RegAllocSimple.cpp b/lib/CodeGen/RegAllocSimple.cpp
index 34d4d57..ffb6e97 100644
--- a/lib/CodeGen/RegAllocSimple.cpp
+++ b/lib/CodeGen/RegAllocSimple.cpp
@@ -92,13 +92,13 @@
     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() {