mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
Keep track of number of uses within the function per virtual register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36214 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e060b5385f
commit
38b7ca6651
@ -83,12 +83,16 @@ public:
|
||||
/// is a bit set which uses the basic block number as an index.
|
||||
BitVector UsedBlocks;
|
||||
|
||||
/// NumUses - Number of uses of this register across the entire function.
|
||||
///
|
||||
unsigned NumUses;
|
||||
|
||||
/// Kills - List of MachineInstruction's which are the last use of this
|
||||
/// virtual register (kill it) in their basic block.
|
||||
///
|
||||
std::vector<MachineInstr*> Kills;
|
||||
|
||||
VarInfo() : DefInst(0) {}
|
||||
VarInfo() : DefInst(0), NumUses(0) {}
|
||||
|
||||
/// removeKill - Delete a kill corresponding to the specified
|
||||
/// machine instruction. Returns true if there was a kill
|
||||
|
@ -141,6 +141,7 @@ void LiveVariables::HandleVirtRegUse(VarInfo &VRInfo, MachineBasicBlock *MBB,
|
||||
unsigned BBNum = MBB->getNumber();
|
||||
|
||||
VRInfo.UsedBlocks[BBNum] = true;
|
||||
VRInfo.NumUses++;
|
||||
|
||||
// Check to see if this basic block is already a kill block...
|
||||
if (!VRInfo.Kills.empty() && VRInfo.Kills.back()->getParent() == MBB) {
|
||||
|
Loading…
Reference in New Issue
Block a user