diff options
-rw-r--r-- | include/llvm/CodeGen/LiveVariables.h | 6 | ||||
-rw-r--r-- | lib/CodeGen/LiveVariables.cpp | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/LiveVariables.h b/include/llvm/CodeGen/LiveVariables.h index d98ad34735..6c58815e27 100644 --- a/include/llvm/CodeGen/LiveVariables.h +++ b/include/llvm/CodeGen/LiveVariables.h @@ -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 diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp index 977bc5b6d6..8a8185c55f 100644 --- a/lib/CodeGen/LiveVariables.cpp +++ b/lib/CodeGen/LiveVariables.cpp @@ -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) { |