Remove one of the fixmes that I put in there. From Evan:
authorBill Wendling <isanbard@gmail.com>
Wed, 20 Feb 2008 20:56:45 +0000 (20:56 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 20 Feb 2008 20:56:45 +0000 (20:56 +0000)
No need to go up more levels. A def of a register also sets its sub-registers
(so if PhysRegInfo[SuperReg] is NULL, it means SuperReg's super registers are
not previously defined).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47399 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveVariables.cpp

index 809048e8ef7c634e53cdc4f258bd7d6a52d4536e..4b428d6f31ce40140ce656d568c61130930d133d 100644 (file)
@@ -258,8 +258,9 @@ void LiveVariables::HandlePhysRegUse(unsigned Reg, MachineInstr *MI) {
     bool HasPrevDef = PhysRegInfo[SuperReg] != NULL;
 
     if (!HasPrevDef)
-      // FIXME: This only goes back one level of super-registers. It might miss
-      // some.
+      // No need to go up more levels. A def of a register also sets its sub-
+      // registers. So if PhysRegInfo[SuperReg] is NULL, it means SuperReg's
+      // super-registers are not previously defined.
       for (const unsigned *SSRegs = RegInfo->getSuperRegisters(SuperReg);
            unsigned SSReg = *SSRegs; ++SSRegs)
         if (PhysRegInfo[SSReg] != NULL) {