Move PHINodesToUpdate out of SelectionDAGBuilder and into
FunctionLoweringInfo, as it isn't SelectionDAG-specific. This isn't
completely natural, as PHI node state is not per-function but rather
per-basic-block, however there's currently no other convenient
per-basic-block state to group it with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102109 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index b64ab49..dc43981 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -6019,7 +6019,7 @@
EVT VT = ValueVTs[vti];
unsigned NumRegisters = TLI.getNumRegisters(*CurDAG->getContext(), VT);
for (unsigned i = 0, e = NumRegisters; i != e; ++i)
- SDB->PHINodesToUpdate.push_back(std::make_pair(MBBI++, Reg+i));
+ FuncInfo->PHINodesToUpdate.push_back(std::make_pair(MBBI++, Reg+i));
Reg += NumRegisters;
}
}
@@ -6037,7 +6037,7 @@
const TerminatorInst *TI = LLVMBB->getTerminator();
SmallPtrSet<MachineBasicBlock *, 4> SuccsHandled;
- unsigned OrigNumPHINodesToUpdate = SDB->PHINodesToUpdate.size();
+ unsigned OrigNumPHINodesToUpdate = FuncInfo->PHINodesToUpdate.size();
// Check successor nodes' PHI nodes that expect a constant to be available
// from this block.
@@ -6072,7 +6072,7 @@
if (VT == MVT::i1)
VT = TLI.getTypeToTransformTo(*CurDAG->getContext(), VT);
else {
- SDB->PHINodesToUpdate.resize(OrigNumPHINodesToUpdate);
+ FuncInfo->PHINodesToUpdate.resize(OrigNumPHINodesToUpdate);
return false;
}
}
@@ -6081,10 +6081,10 @@
unsigned Reg = F->getRegForValue(PHIOp);
if (Reg == 0) {
- SDB->PHINodesToUpdate.resize(OrigNumPHINodesToUpdate);
+ FuncInfo->PHINodesToUpdate.resize(OrigNumPHINodesToUpdate);
return false;
}
- SDB->PHINodesToUpdate.push_back(std::make_pair(MBBI++, Reg));
+ FuncInfo->PHINodesToUpdate.push_back(std::make_pair(MBBI++, Reg));
}
}