Add a missing check to avoid dereference null. No sensible test case possible. Sorry...
authorEvan Cheng <evan.cheng@apple.com>
Tue, 26 Jun 2012 22:54:59 +0000 (22:54 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 26 Jun 2012 22:54:59 +0000 (22:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159236 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMBaseInstrInfo.cpp

index 58f4e160de8b01b88d851358e51ad37376cb946f..3a180dfa2793041a2a36e0c5a84f5fac314a58f7 100644 (file)
@@ -1802,6 +1802,8 @@ static bool isSuitableForMask(MachineInstr *&MI, unsigned SrcReg,
 bool ARMBaseInstrInfo::
 OptimizeCompareInstr(MachineInstr *CmpInstr, unsigned SrcReg, int CmpMask,
                      int CmpValue, const MachineRegisterInfo *MRI) const {
+  if (MRI->def_empty(SrcReg))
+    return false;
 
   MachineRegisterInfo::def_iterator DI = MRI->def_begin(SrcReg);
   if (llvm::next(DI) != MRI->def_end())