| 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;
|
| }
|
|
|
|
|