Index: src/IceInst.cpp |
diff --git a/src/IceInst.cpp b/src/IceInst.cpp |
index d6e0f59b15d30d1ad4236f00cfe020765310819d..629c6bdfddd41b2ca8a13dff15bb4bd18717e521 100644 |
--- a/src/IceInst.cpp |
+++ b/src/IceInst.cpp |
@@ -111,21 +111,7 @@ bool Inst::isLastUse(const Operand *TestSrc) const { |
return false; |
} |
-void Inst::updateVars(CfgNode *Node) { |
- if (Dest) |
- Dest->setDefinition(this, Node); |
- |
- for (SizeT I = 0; I < getSrcSize(); ++I) { |
- Operand *Src = getSrc(I); |
- SizeT NumVars = Src->getNumVars(); |
- for (SizeT J = 0; J < NumVars; ++J) { |
- Variable *Var = Src->getVar(J); |
- Var->setUse(this, Node); |
- } |
- } |
-} |
- |
-void Inst::livenessLightweight(llvm::BitVector &Live) { |
+void Inst::livenessLightweight(Cfg *Func, llvm::BitVector &Live) { |
assert(!isDeleted()); |
if (llvm::isa<InstFakeKill>(this)) |
return; |
@@ -136,7 +122,7 @@ void Inst::livenessLightweight(llvm::BitVector &Live) { |
SizeT NumVars = Src->getNumVars(); |
for (SizeT J = 0; J < NumVars; ++J, ++VarIndex) { |
const Variable *Var = Src->getVar(J); |
- if (Var->isMultiblockLife()) |
+ if (Func->getVMetadata()->isMultiBlock(Var)) |
continue; |
SizeT Index = Var->getIndex(); |
if (Live[Index]) |
@@ -354,19 +340,17 @@ void InstPhi::livenessPhiOperand(llvm::BitVector &Live, CfgNode *Target, |
// Change "a=phi(...)" to "a_phi=phi(...)" and return a new |
// instruction "a=a_phi". |
-Inst *InstPhi::lower(Cfg *Func, CfgNode *Node) { |
+Inst *InstPhi::lower(Cfg *Func) { |
Variable *Dest = getDest(); |
assert(Dest); |
IceString PhiName = Dest->getName() + "_phi"; |
- Variable *NewSrc = Func->makeVariable(Dest->getType(), Node, PhiName); |
- NewSrc->setIsMultidef(); |
+ Variable *NewSrc = Func->makeVariable(Dest->getType(), PhiName); |
this->Dest = NewSrc; |
InstAssign *NewInst = InstAssign::create(Func, Dest, NewSrc); |
// Set Dest and NewSrc to have affinity with each other, as a hint |
// for register allocation. |
Dest->setPreferredRegister(NewSrc, false); |
NewSrc->setPreferredRegister(Dest, false); |
- Dest->replaceDefinition(NewInst, Node); |
return NewInst; |
} |