Chromium Code Reviews| Index: src/IceInst.cpp |
| diff --git a/src/IceInst.cpp b/src/IceInst.cpp |
| index 4b89eb77b0fa88f5f692f637a5ef892305b1a62b..252cd51fd6bfb746eea2a0959ff6f5d6023d1848 100644 |
| --- a/src/IceInst.cpp |
| +++ b/src/IceInst.cpp |
| @@ -179,6 +179,8 @@ bool Inst::liveness(InstNumberT InstNumber, LivenessBV &Live, |
| Dead = false; |
| if (Dest) { |
| + // TODO(ascull): get the loop nest depth |
| + Dest->addUse(1); |
|
jvoung (off chromium)
2015/08/26 21:45:46
Hmm, not sure we should count definitions as a Use
ascull
2015/08/26 22:06:38
If there are two uses of a variable in a function
jvoung (off chromium)
2015/08/26 22:35:16
Sorry, by two-address I meant, for example, add in
ascull
2015/08/26 22:53:49
This is what I meant it to do. But thinking again
|
| SizeT VarNum = Liveness->getLiveIndex(Dest->getIndex()); |
| if (Live[VarNum]) { |
| if (!isDestNonKillable()) { |
| @@ -203,7 +205,9 @@ bool Inst::liveness(InstNumberT InstNumber, LivenessBV &Live, |
| Operand *Src = getSrc(I); |
| SizeT NumVars = Src->getNumVars(); |
| for (SizeT J = 0; J < NumVars; ++J, ++VarIndex) { |
| - const Variable *Var = Src->getVar(J); |
| + Variable *Var = Src->getVar(J); |
| + // TODO(ascull): get the loop nest depth |
| + Var->addUse(1); |
| SizeT VarNum = Liveness->getLiveIndex(Var->getIndex()); |
| if (!Live[VarNum]) { |
| setLastUse(VarIndex); |