@@ -26,14 +26,8 @@ namespace {
26
26
27
27
class XtensaDAGToDAGISel : public SelectionDAGISel {
28
28
public:
29
- static char ID;
30
-
31
29
XtensaDAGToDAGISel (XtensaTargetMachine &TM, CodeGenOptLevel OptLevel)
32
- : SelectionDAGISel(ID, TM, OptLevel) {}
33
-
34
- StringRef getPassName () const override {
35
- return " Xtensa DAG->DAG Pattern Instruction Selection" ;
36
- }
30
+ : SelectionDAGISel(TM, OptLevel) {}
37
31
38
32
void Select (SDNode *Node) override ;
39
33
@@ -57,13 +51,26 @@ class XtensaDAGToDAGISel : public SelectionDAGISel {
57
51
// Include the pieces autogenerated from the target description.
58
52
#include " XtensaGenDAGISel.inc"
59
53
}; // namespace
54
+
55
+ class XtensaDAGToDAGISelLegacy : public SelectionDAGISelLegacy {
56
+ public:
57
+ static char ID;
58
+
59
+ XtensaDAGToDAGISelLegacy (XtensaTargetMachine &TM, CodeGenOptLevel OptLevel)
60
+ : SelectionDAGISelLegacy(
61
+ ID, std::make_unique<XtensaDAGToDAGISel>(TM, OptLevel)) {}
62
+
63
+ StringRef getPassName () const override {
64
+ return " Xtensa DAG->DAG Pattern Instruction Selection" ;
65
+ }
66
+ };
60
67
} // end anonymous namespace
61
68
62
- char XtensaDAGToDAGISel ::ID = 0 ;
69
+ char XtensaDAGToDAGISelLegacy ::ID = 0 ;
63
70
64
71
FunctionPass *llvm::createXtensaISelDag (XtensaTargetMachine &TM,
65
72
CodeGenOptLevel OptLevel) {
66
- return new XtensaDAGToDAGISel (TM, OptLevel);
73
+ return new XtensaDAGToDAGISelLegacy (TM, OptLevel);
67
74
}
68
75
69
76
void XtensaDAGToDAGISel::Select (SDNode *Node) {
0 commit comments