diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2007-04-17 20:22:11 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2007-04-17 20:22:11 +0000 |
| commit | 8387cf1100079652df3e8efd8059e2a0345e7a66 (patch) | |
| tree | 9fa302687b15f25f29baef39c8e75c30be4c2319 | |
| parent | 9b91d98a3001bf98eee9215c74c8dd20b34aab08 (diff) | |
| download | bcm5719-llvm-8387cf1100079652df3e8efd8059e2a0345e7a66.tar.gz bcm5719-llvm-8387cf1100079652df3e8efd8059e2a0345e7a66.zip | |
Keep track of number of uses within the function per virtual register.
llvm-svn: 36214
| -rw-r--r-- | llvm/include/llvm/CodeGen/LiveVariables.h | 6 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/LiveVariables.cpp | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/llvm/include/llvm/CodeGen/LiveVariables.h b/llvm/include/llvm/CodeGen/LiveVariables.h index d98ad347354..6c58815e273 100644 --- a/llvm/include/llvm/CodeGen/LiveVariables.h +++ b/llvm/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/llvm/lib/CodeGen/LiveVariables.cpp b/llvm/lib/CodeGen/LiveVariables.cpp index 977bc5b6d64..8a8185c55f8 100644 --- a/llvm/lib/CodeGen/LiveVariables.cpp +++ b/llvm/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) { |

