mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
Fix reversed logic in getRegsUsed. Rename RegStates to RegsAvailable to
hopefully forestall similar errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35362 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -47,10 +47,10 @@ class RegScavenger {
|
||||
///
|
||||
const TargetRegisterClass *ScavengedRC;
|
||||
|
||||
/// RegStates - The current state of all the physical registers immediately
|
||||
/// RegsAvailable - The current state of all the physical registers immediately
|
||||
/// before MBBI. One bit per physical register. If bit is set that means it's
|
||||
/// available, unset means the register is currently being used.
|
||||
BitVector RegStates;
|
||||
BitVector RegsAvailable;
|
||||
|
||||
public:
|
||||
RegScavenger()
|
||||
@ -88,18 +88,18 @@ public:
|
||||
|
||||
/// isUsed / isUsed - Test if a register is currently being used.
|
||||
///
|
||||
bool isUsed(unsigned Reg) const { return !RegStates[Reg]; }
|
||||
bool isUnused(unsigned Reg) const { return RegStates[Reg]; }
|
||||
bool isUsed(unsigned Reg) const { return !RegsAvailable[Reg]; }
|
||||
bool isUnused(unsigned Reg) const { return RegsAvailable[Reg]; }
|
||||
|
||||
/// getRegsUsed - return all registers currently in use in used.
|
||||
void getRegsUsed(BitVector &used, bool includeReserved);
|
||||
|
||||
/// setUsed / setUnused - Mark the state of one or a number of registers.
|
||||
///
|
||||
void setUsed(unsigned Reg) { RegStates.reset(Reg); }
|
||||
void setUsed(BitVector Regs) { RegStates &= ~Regs; }
|
||||
void setUnused(unsigned Reg) { RegStates.set(Reg); }
|
||||
void setUnused(BitVector Regs) { RegStates |= Regs; }
|
||||
void setUsed(unsigned Reg) { RegsAvailable.reset(Reg); }
|
||||
void setUsed(BitVector Regs) { RegsAvailable &= ~Regs; }
|
||||
void setUnused(unsigned Reg) { RegsAvailable.set(Reg); }
|
||||
void setUnused(BitVector Regs) { RegsAvailable |= Regs; }
|
||||
|
||||
/// FindUnusedReg - Find a unused register of the specified register class
|
||||
/// from the specified set of registers. It return 0 is none is found.
|
||||
|
Reference in New Issue
Block a user