diff options
Diffstat (limited to 'lib/CodeGen/LiveVariables.cpp')
| -rw-r--r-- | lib/CodeGen/LiveVariables.cpp | 13 | 
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp index 622882169128..bd845085bbf5 100644 --- a/lib/CodeGen/LiveVariables.cpp +++ b/lib/CodeGen/LiveVariables.cpp @@ -359,12 +359,11 @@ bool LiveVariables::HandlePhysRegKill(unsigned Reg, MachineInstr *MI) {      // That is, unless we are currently processing the last reference itself.      LastRefOrPartRef->addRegisterDead(Reg, TRI, true); -  /* Partial uses. Mark register def dead and add implicit def of -     sub-registers which are used. -    FIXME: LiveIntervalAnalysis can't handle this yet! -    EAX<dead>  = op  AL<imp-def> -    That is, EAX def is dead but AL def extends pass it. -    Enable this after live interval analysis is fixed to improve codegen! +  // Partial uses. Mark register def dead and add implicit def of +  // sub-registers which are used. +  // EAX<dead>  = op  AL<imp-def> +  // That is, EAX def is dead but AL def extends pass it. +  // Enable this after live interval analysis is fixed to improve codegen!    else if (!PhysRegUse[Reg]) {      PhysRegDef[Reg]->addRegisterDead(Reg, TRI, true);      for (const unsigned *SubRegs = TRI->getSubRegisters(Reg); @@ -377,7 +376,7 @@ bool LiveVariables::HandlePhysRegKill(unsigned Reg, MachineInstr *MI) {            PartUses.erase(*SS);        }      } -  } */ +  }    else      LastRefOrPartRef->addRegisterKilled(Reg, TRI, true);    return true;  | 
