diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h')
-rw-r--r-- | contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h b/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h index 3ab5f2585f34..a94518f5a4fc 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h +++ b/contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h @@ -345,10 +345,17 @@ private: return LICalc[SpillMode != SM_Partition && RegIdx != 0]; } - /// Find a subrange corresponding to the lane mask @p LM in the live + /// Find a subrange corresponding to the exact lane mask @p LM in the live /// interval @p LI. The interval @p LI is assumed to contain such a subrange. /// This function is used to find corresponding subranges between the /// original interval and the new intervals. + LiveInterval::SubRange &getSubRangeForMaskExact(LaneBitmask LM, + LiveInterval &LI); + + /// Find a subrange corresponding to the lane mask @p LM, or a superset of it, + /// in the live interval @p LI. The interval @p LI is assumed to contain such + /// a subrange. This function is used to find corresponding subranges between + /// the original interval and the new intervals. LiveInterval::SubRange &getSubRangeForMask(LaneBitmask LM, LiveInterval &LI); /// Add a segment to the interval LI for the value number VNI. If LI has @@ -432,11 +439,11 @@ private: /// Add a copy instruction copying \p FromReg to \p ToReg before /// \p InsertBefore. This can be invoked with a \p LaneMask which may make it /// necessary to construct a sequence of copies to cover it exactly. - SlotIndex buildCopy(unsigned FromReg, unsigned ToReg, LaneBitmask LaneMask, + SlotIndex buildCopy(Register FromReg, Register ToReg, LaneBitmask LaneMask, MachineBasicBlock &MBB, MachineBasicBlock::iterator InsertBefore, bool Late, unsigned RegIdx); - SlotIndex buildSingleSubRegCopy(unsigned FromReg, unsigned ToReg, + SlotIndex buildSingleSubRegCopy(Register FromReg, Register ToReg, MachineBasicBlock &MB, MachineBasicBlock::iterator InsertBefore, unsigned SubIdx, LiveInterval &DestLI, bool Late, SlotIndex Def); |