mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +00:00
Simplify the tracking of used physregs to a bulk bitor followed by a transitive
closure after allocating all blocks. Add a few more test cases for -regalloc=fast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103500 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -229,11 +229,18 @@ public:
|
||||
/// setPhysRegUsed - Mark the specified register used in this function.
|
||||
/// This should only be called during and after register allocation.
|
||||
void setPhysRegUsed(unsigned Reg) { UsedPhysRegs[Reg] = true; }
|
||||
|
||||
|
||||
/// addPhysRegsUsed - Mark the specified registers used in this function.
|
||||
/// This should only be called during and after register allocation.
|
||||
void addPhysRegsUsed(const BitVector &Regs) { UsedPhysRegs |= Regs; }
|
||||
|
||||
/// setPhysRegUnused - Mark the specified register unused in this function.
|
||||
/// This should only be called during and after register allocation.
|
||||
void setPhysRegUnused(unsigned Reg) { UsedPhysRegs[Reg] = false; }
|
||||
|
||||
|
||||
/// closePhysRegsUsed - Expand UsedPhysRegs to its transitive closure over
|
||||
/// subregisters. That means that if R is used, so are all subregisters.
|
||||
void closePhysRegsUsed(const TargetRegisterInfo&);
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// LiveIn/LiveOut Management
|
||||
|
||||
Reference in New Issue
Block a user