mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-30 07:14:53 +00:00
Reflect change to AssignTopologicalOrder().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29480 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c384d6c398
commit
4876dc5b13
@ -271,12 +271,15 @@ void X86DAGToDAGISel::DetermineReachability(SDNode *f, SDNode *t) {
|
||||
if (N->getNumOperands() == 0)
|
||||
continue;
|
||||
|
||||
for (unsigned i2 = Orderf; ; ++i2) {
|
||||
for (unsigned i2 = Range; ; ++i2) {
|
||||
SDNode *M = TopOrder[i2];
|
||||
if (isReachable(M, N)) {
|
||||
// Update reachability from M to N's operands.
|
||||
for (SDNode::op_iterator I = N->op_begin(), E = N->op_end(); I != E;++I)
|
||||
setReachable(M, I->Val);
|
||||
for (SDNode::op_iterator I = N->op_begin(),E = N->op_end(); I != E;++I){
|
||||
SDNode *P = I->Val;
|
||||
if (P->getNodeId() >= 0)
|
||||
setReachable(M, P);
|
||||
}
|
||||
}
|
||||
if (M == N) break;
|
||||
}
|
||||
@ -291,8 +294,7 @@ void X86DAGToDAGISel::InstructionSelectBasicBlock(SelectionDAG &DAG) {
|
||||
DEBUG(BB->dump());
|
||||
MachineFunction::iterator FirstMBB = BB;
|
||||
|
||||
TopOrder = DAG.AssignTopologicalOrder();
|
||||
DAGSize = TopOrder.size();
|
||||
DAGSize = DAG.AssignTopologicalOrder(TopOrder);
|
||||
unsigned RMSize = (DAGSize * DAGSize + 7) / 8;
|
||||
ReachabilityMatrix = new unsigned char[RMSize];
|
||||
memset(ReachabilityMatrix, 0, RMSize);
|
||||
@ -318,6 +320,7 @@ void X86DAGToDAGISel::InstructionSelectBasicBlock(SelectionDAG &DAG) {
|
||||
ReachabilityMatrix = NULL;
|
||||
ReachMatrixRange = NULL;
|
||||
UnfoldableSet = NULL;
|
||||
TopOrder.clear();
|
||||
CodeGenMap.clear();
|
||||
HandleMap.clear();
|
||||
ReplaceMap.clear();
|
||||
|
Loading…
x
Reference in New Issue
Block a user