X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FCodeGen%2FLiveRangeCalc.h;h=ff38c68820f138b86b7449877c39a03d824d2b14;hb=42c2a81d51d83ca296f9cea5852e8c1f26081a6a;hp=1b9099b5fc7e7a05b127ab39e8ae38ccc51d4a15;hpb=68445710a2869618faacf6e6e20d6efedea83f8b;p=oota-llvm.git diff --git a/lib/CodeGen/LiveRangeCalc.h b/lib/CodeGen/LiveRangeCalc.h index 1b9099b5fc7..ff38c68820f 100644 --- a/lib/CodeGen/LiveRangeCalc.h +++ b/lib/CodeGen/LiveRangeCalc.h @@ -101,17 +101,17 @@ class LiveRangeCalc { /// used to add entries directly. SmallVector LiveIn; - /// Assuming that LI is live-in to KillMBB and killed at Kill, find the set - /// of defs that can reach it. + /// Assuming that @p LR is live-in to @p UseMBB, find the set of defs that can + /// reach it. /// - /// If only one def can reach Kill, all paths from the def to kill are added - /// to LI, and the function returns true. + /// If only one def can reach @p UseMBB, all paths from the def to @p UseMBB + /// are added to @p LR, and the function returns true. /// - /// If multiple values can reach Kill, the blocks that need LI to be live in - /// are added to the LiveIn array, and the function returns false. + /// If multiple values can reach @p UseMBB, the blocks that need @p LR to be + /// live in are added to the LiveIn array, and the function returns false. /// /// PhysReg, when set, is used to verify live-in lists on basic blocks. - bool findReachingDefs(LiveRange &LR, MachineBasicBlock &KillMBB, + bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, SlotIndex Kill, unsigned PhysReg); /// updateSSA - Compute the values that will be live in to all requested @@ -129,7 +129,7 @@ class LiveRangeCalc { /// /// All uses must be jointly dominated by existing liveness. PHI-defs are /// inserted as needed to preserve SSA form. - void extendToUses(LiveRange &LR, unsigned Reg, unsigned LaneMask); + void extendToUses(LiveRange &LR, unsigned Reg, LaneBitmask LaneMask); /// Reset Map and Seen fields. void resetLiveOutMap(); @@ -162,15 +162,14 @@ public: // Modify existing live ranges. // - /// extend - Extend the live range of LI to reach Kill. + /// Extend the live range of @p LR to reach @p Use. /// - /// The existing values in LI must be live so they jointly dominate Kill. If - /// Kill is not dominated by a single existing value, PHI-defs are inserted - /// as required to preserve SSA form. If Kill is known to be dominated by a - /// single existing value, Alloc may be null. + /// The existing values in @p LR must be live so they jointly dominate @p Use. + /// If @p Use is not dominated by a single existing value, PHI-defs are + /// inserted as required to preserve SSA form. /// /// PhysReg, when set, is used to verify live-in lists on basic blocks. - void extend(LiveRange &LR, SlotIndex Kill, unsigned PhysReg = 0); + void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg = 0); /// createDeadDefs - Create a dead def in LI for every def operand of Reg. /// Each instruction defining Reg gets a new VNInfo with a corresponding @@ -188,7 +187,7 @@ public: /// Calculates liveness for the register specified in live interval @p LI. /// Creates subregister live ranges as needed if subreg liveness tracking is /// enabled. - void calculate(LiveInterval &LI); + void calculate(LiveInterval &LI, bool TrackSubRegs); //===--------------------------------------------------------------------===// // Low-level interface.