Fix crash in machine verifier when trying to print the def of a register which has...
authorPete Cooper <peter_cooper@apple.com>
Thu, 19 Jul 2012 23:40:38 +0000 (23:40 +0000)
committerPete Cooper <peter_cooper@apple.com>
Thu, 19 Jul 2012 23:40:38 +0000 (23:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160531 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineVerifier.cpp

index fca051effafb1f8dffc6e16b6a97eace2e402c33..d8dece66d88f00071133066caf91e02e60c5fa35 100644 (file)
@@ -837,6 +837,8 @@ void MachineVerifier::checkLiveness(const MachineOperand *MO, unsigned MONum) {
         // Reserved registers may be used even when 'dead'.
         if (!isReserved(Reg))
           report("Using an undefined physical register", MO, MONum);
+      } else if (MRI->def_empty(Reg)) {
+        report("Reading virtual register without a def", MO, MONum);
       } else {
         BBInfo &MInfo = MBBInfoMap[MI->getParent()];
         // We don't know which virtual registers are live in, so only complain