diff options
| author | Matthias Braun <matze@braunis.de> | 2015-09-22 03:44:41 +0000 |
|---|---|---|
| committer | Matthias Braun <matze@braunis.de> | 2015-09-22 03:44:41 +0000 |
| commit | d3dd1354a49c321324878269189cdff7e0e151bb (patch) | |
| tree | 8e2679c0255c036a28de407235dcfc7a271bbc77 /llvm/include | |
| parent | 927a11e380d5c5fb1e618a6ce6bdf6c1f423e53f (diff) | |
| download | bcm5719-llvm-d3dd1354a49c321324878269189cdff7e0e151bb.tar.gz bcm5719-llvm-d3dd1354a49c321324878269189cdff7e0e151bb.zip | |
LiveIntervalAnalysis: Factor common code into splitSeparateComponents; NFC
llvm-svn: 248241
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/CodeGen/LiveInterval.h | 12 | ||||
| -rw-r--r-- | llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h | 4 |
2 files changed, 10 insertions, 6 deletions
diff --git a/llvm/include/llvm/CodeGen/LiveInterval.h b/llvm/include/llvm/CodeGen/LiveInterval.h index cadd219dc69..bec4c6bd0f2 100644 --- a/llvm/include/llvm/CodeGen/LiveInterval.h +++ b/llvm/include/llvm/CodeGen/LiveInterval.h @@ -853,12 +853,12 @@ namespace llvm { /// the equivalence class assigned the VNI. unsigned getEqClass(const VNInfo *VNI) const { return EqClass[VNI->id]; } - /// Distribute - Distribute values in LIV[0] into a separate LiveInterval - /// for each connected component. LIV must have a LiveInterval for each - /// connected component. The LiveIntervals in Liv[1..] must be empty. - /// Instructions using LIV[0] are rewritten. - void Distribute(LiveInterval *LIV[], MachineRegisterInfo &MRI); - + /// Distribute values in \p LI into a separate LiveIntervals + /// for each connected component. LIV must have an empty LiveInterval for + /// each additional connected component. The first connected component is + /// left in \p LI. + void Distribute(LiveInterval &LI, LiveInterval *LIV[], + MachineRegisterInfo &MRI); }; } diff --git a/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h b/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h index 5996f8dd334..137e9658750 100644 --- a/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h +++ b/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h @@ -402,6 +402,10 @@ extern cl::opt<bool> UseSegmentSetForPhysRegs; /// that start at position @p Pos. void removeVRegDefAt(LiveInterval &LI, SlotIndex Pos); + /// Split separate components in LiveInterval \p LI into separate intervals. + void splitSeparateComponents(LiveInterval &LI, + SmallVectorImpl<LiveInterval*> &SplitLIs); + private: /// Compute live intervals for all virtual registers. void computeVirtRegs(); |

