/// SelectRoot - Top level entry to DAG instruction selector.
/// Selects instructions starting at the root of the current DAG.
-SDValue SelectRoot(SDValue Root) {
+void SelectRoot() {
SelectRootInit();
unsigned NumBytes = (DAGSize + 7) / 8;
ISelQueued = new unsigned char[NumBytes];
ISelQueued = NULL;
delete[] ISelSelected;
ISelSelected = NULL;
- return Dummy.getValue();
+ CurDAG->setRoot(Dummy.getValue());
}
#endif /* LLVM_CODEGEN_DAGISEL_HEADER_H */
void ARMDAGToDAGISel::InstructionSelect(SelectionDAG &DAG) {
DEBUG(BB->dump());
- DAG.setRoot(SelectRoot(DAG.getRoot()));
+ SelectRoot();
DAG.RemoveDeadNodes();
}
DEBUG(BB->dump());
// Select target instructions for the DAG.
- DAG.setRoot(SelectRoot(DAG.getRoot()));
+ SelectRoot();
DAG.RemoveDeadNodes();
}
DEBUG(BB->dump());
// Select target instructions for the DAG.
- DAG.setRoot(SelectRoot(DAG.getRoot()));
+ SelectRoot();
DAG.RemoveDeadNodes();
}
DEBUG(BB->dump());
// Select target instructions for the DAG.
- DAG.setRoot(SelectRoot(DAG.getRoot()));
+ SelectRoot();
DAG.RemoveDeadNodes();
}
#endif
// Select target instructions for the DAG.
- SD.setRoot(SelectRoot(SD.getRoot()));
+ SelectRoot();
#ifndef NDEBUG
DOUT << "===== Instruction selection ends:\n";
#endif
// Select target instructions for the DAG.
- SD.setRoot(SelectRoot(SD.getRoot()));
+ SelectRoot();
DOUT << "===== Instruction selection ends:\n";
DEBUG(BB->dump());
// Select target instructions for the DAG.
- DAG.setRoot(SelectRoot(DAG.getRoot()));
+ SelectRoot();
DAG.RemoveDeadNodes();
}
DEBUG(BB->dump());
// Select target instructions for the DAG.
- DAG.setRoot(SelectRoot(DAG.getRoot()));
+ SelectRoot();
DAG.RemoveDeadNodes();
}
DOUT << "===== Instruction selection begins:\n";
Indent = 0;
#endif
- DAG.setRoot(SelectRoot(DAG.getRoot()));
+ SelectRoot();
#ifndef NDEBUG
DOUT << "===== Instruction selection ends:\n";
#endif