/// A vector of information on scavenged registers.
SmallVector<ScavengedInfo, 2> Scavenged;
/// A vector of information on scavenged registers.
SmallVector<ScavengedInfo, 2> Scavenged;
- /// RegUnitsAvailable - The current state of each reg unit immediatelly
- /// before MBBI. One bit per register unit. If bit is not set it means any
+ /// The current state of each reg unit immediately before MBBI.
+ /// One bit per register unit. If bit is not set it means any
/// it has processed the specific iterator.
void forward(MachineBasicBlock::iterator I) {
if (!Tracking && MBB->begin() != I) forward();
/// it has processed the specific iterator.
void forward(MachineBasicBlock::iterator I) {
if (!Tracking && MBB->begin() != I) forward();
- MachineBasicBlock::iterator getCurrentPosition() const {
- return MBBI;
- }
-
- /// isRegUsed - return if a specific register is currently used.
+ MachineBasicBlock::iterator getCurrentPosition() const { return MBBI; }
+
+ /// Return if a specific register is currently used.
/// available and do the appropriate bookkeeping. SPAdj is the stack
/// adjustment due to call frame, it's passed along to eliminateFrameIndex().
/// Returns the scavenged register.
/// available and do the appropriate bookkeeping. SPAdj is the stack
/// adjustment due to call frame, it's passed along to eliminateFrameIndex().
/// Returns the scavenged register.
- /// setRegUsed - Tell the scavenger a register is used.
- ///
- void setRegUsed(unsigned Reg);
+ /// Tell the scavenger a register is used.
+ void setRegUsed(unsigned Reg, LaneBitmask LaneMask = ~0u);
bool isReserved(unsigned Reg) const { return MRI->isReserved(Reg); }
/// setUsed / setUnused - Mark the state of one or a number of register units.
bool isReserved(unsigned Reg) const { return MRI->isReserved(Reg); }
/// setUsed / setUnused - Mark the state of one or a number of register units.
/// Processes the current instruction and fill the KillRegUnits and
/// DefRegUnits bit vectors.
void determineKillsAndDefs();
/// Processes the current instruction and fill the KillRegUnits and
/// DefRegUnits bit vectors.
void determineKillsAndDefs();
/// Add all Reg Units that Reg contains to BV.
void addRegUnits(BitVector &BV, unsigned Reg);
/// Add all Reg Units that Reg contains to BV.
void addRegUnits(BitVector &BV, unsigned Reg);
-
- /// findSurvivorReg - Return the candidate register that is unused for the
- /// longest after StartMI. UseMI is set to the instruction where the search
- /// stopped.
+
+ /// Return the candidate register that is unused for the longest after
+ /// StartMI. UseMI is set to the instruction where the search stopped.
///
/// No more than InstrLimit instructions are inspected.
unsigned findSurvivorReg(MachineBasicBlock::iterator StartMI,
///
/// No more than InstrLimit instructions are inspected.
unsigned findSurvivorReg(MachineBasicBlock::iterator StartMI,