2222#include " llvm/CodeGen/GlobalISel/InstructionSelector.h"
2323#include " llvm/CodeGen/GlobalISel/LegalizerInfo.h"
2424#include " llvm/CodeGen/RegisterBankInfo.h"
25- #include " llvm/CodeGen/SelectionDAGTargetInfo.h"
2625#include " llvm/CodeGen/TargetSubtargetInfo.h"
2726#include " llvm/IR/DataLayout.h"
2827#include " llvm/MC/MCInstrItineraries.h"
@@ -63,7 +62,6 @@ class M68kSubtarget : public M68kGenSubtargetInfo {
6362
6463 const M68kTargetMachine &TM;
6564
66- SelectionDAGTargetInfo TSInfo;
6765 M68kInstrInfo InstrInfo;
6866 M68kFrameLowering FrameLowering;
6967 M68kTargetLowering TLInfo;
@@ -80,6 +78,8 @@ class M68kSubtarget : public M68kGenSubtargetInfo {
8078 M68kSubtarget (const Triple &TT, StringRef CPU, StringRef FS,
8179 const M68kTargetMachine &_TM);
8280
81+ ~M68kSubtarget () override ;
82+
8383 // / Parses features string setting specified subtarget options. Definition
8484 // / of function is auto generated by tblgen.
8585 void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS);
@@ -148,10 +148,6 @@ class M68kSubtarget : public M68kGenSubtargetInfo {
148148 StringRef FS,
149149 const M68kTargetMachine &TM);
150150
151- const SelectionDAGTargetInfo *getSelectionDAGInfo () const override {
152- return &TSInfo;
153- }
154-
155151 const M68kInstrInfo *getInstrInfo () const override { return &InstrInfo; }
156152
157153 const M68kFrameLowering *getFrameLowering () const override {
@@ -171,13 +167,17 @@ class M68kSubtarget : public M68kGenSubtargetInfo {
171167 }
172168
173169protected:
170+ // SelectionDAGISel related APIs.
171+ std::unique_ptr<const SelectionDAGTargetInfo> TSInfo;
172+
174173 // GlobalISel related APIs.
175174 std::unique_ptr<CallLowering> CallLoweringInfo;
176175 std::unique_ptr<InstructionSelector> InstSelector;
177176 std::unique_ptr<LegalizerInfo> Legalizer;
178177 std::unique_ptr<RegisterBankInfo> RegBankInfo;
179178
180179public:
180+ const SelectionDAGTargetInfo *getSelectionDAGInfo () const override ;
181181 const CallLowering *getCallLowering () const override ;
182182 InstructionSelector *getInstructionSelector () const override ;
183183 const LegalizerInfo *getLegalizerInfo () const override ;
0 commit comments