diff options
Diffstat (limited to 'lib/CodeGen/SplitKit.h')
-rw-r--r-- | lib/CodeGen/SplitKit.h | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h index dff3765..005ceda 100644 --- a/lib/CodeGen/SplitKit.h +++ b/lib/CodeGen/SplitKit.h @@ -20,6 +20,7 @@ namespace llvm { class LiveInterval; class LiveIntervals; +class LiveRangeEdit; class MachineInstr; class MachineLoop; class MachineLoopInfo; @@ -238,6 +239,9 @@ class SplitEditor { MachineRegisterInfo &mri_; const TargetInstrInfo &tii_; + /// edit_ - The current parent register and new intervals created. + LiveRangeEdit &edit_; + /// curli_ - The immutable interval we are currently splitting. const LiveInterval *const curli_; @@ -249,17 +253,6 @@ class SplitEditor { /// Currently open LiveInterval. LiveIntervalMap openli_; - /// createInterval - Create a new virtual register and LiveInterval with same - /// register class and spill slot as curli. - LiveInterval *createInterval(); - - /// All the new intervals created for this split are added to intervals_. - SmallVectorImpl<LiveInterval*> &intervals_; - - /// The index into intervals_ of the first interval we added. There may be - /// others from before we got it. - unsigned firstInterval; - /// intervalsLiveAt - Return true if any member of intervals_ is live at Idx. bool intervalsLiveAt(SlotIndex Idx) const; @@ -281,8 +274,7 @@ class SplitEditor { public: /// Create a new SplitEditor for editing the LiveInterval analyzed by SA. /// Newly created intervals will be appended to newIntervals. - SplitEditor(SplitAnalysis &SA, LiveIntervals&, VirtRegMap&, - SmallVectorImpl<LiveInterval*> &newIntervals); + SplitEditor(SplitAnalysis &SA, LiveIntervals&, VirtRegMap&, LiveRangeEdit&); /// getAnalysis - Get the corresponding analysis. SplitAnalysis &getAnalysis() { return sa_; } |