@@ -28,14 +28,8 @@ namespace {
28
28
29
29
class XtensaDAGToDAGISel : public SelectionDAGISel {
30
30
public:
31
- static char ID;
32
-
33
31
XtensaDAGToDAGISel (XtensaTargetMachine &TM, CodeGenOptLevel OptLevel)
34
- : SelectionDAGISel(ID, TM, OptLevel) {}
35
-
36
- StringRef getPassName () const override {
37
- return " Xtensa DAG->DAG Pattern Instruction Selection" ;
38
- }
32
+ : SelectionDAGISel(TM, OptLevel) {}
39
33
40
34
void Select (SDNode *Node) override ;
41
35
@@ -107,13 +101,26 @@ class XtensaDAGToDAGISel : public SelectionDAGISel {
107
101
// Include the pieces autogenerated from the target description.
108
102
#include " XtensaGenDAGISel.inc"
109
103
}; // namespace
104
+
105
+ class XtensaDAGToDAGISelLegacy : public SelectionDAGISelLegacy {
106
+ public:
107
+ static char ID;
108
+
109
+ XtensaDAGToDAGISelLegacy (XtensaTargetMachine &TM, CodeGenOptLevel OptLevel)
110
+ : SelectionDAGISelLegacy(
111
+ ID, std::make_unique<XtensaDAGToDAGISel>(TM, OptLevel)) {}
112
+
113
+ StringRef getPassName () const override {
114
+ return " Xtensa DAG->DAG Pattern Instruction Selection" ;
115
+ }
116
+ };
110
117
} // end anonymous namespace
111
118
112
- char XtensaDAGToDAGISel ::ID = 0 ;
119
+ char XtensaDAGToDAGISelLegacy ::ID = 0 ;
113
120
114
121
FunctionPass *llvm::createXtensaISelDag (XtensaTargetMachine &TM,
115
122
CodeGenOptLevel OptLevel) {
116
- return new XtensaDAGToDAGISel (TM, OptLevel);
123
+ return new XtensaDAGToDAGISelLegacy (TM, OptLevel);
117
124
}
118
125
119
126
void XtensaDAGToDAGISel::Select (SDNode *Node) {
0 commit comments