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() {