2121#include " SIISelLowering.h"
2222#include " SIInstrInfo.h"
2323#include " Utils/AMDGPUBaseInfo.h"
24- #include " llvm/CodeGen/SelectionDAGTargetInfo.h"
2524#include " llvm/Support/ErrorHandling.h"
2625
2726#define GET_SUBTARGETINFO_HEADER
@@ -49,6 +48,9 @@ class GCNSubtarget final : public AMDGPUGenSubtargetInfo,
4948 };
5049
5150private:
51+ // / SelectionDAGISel related APIs.
52+ std::unique_ptr<const SelectionDAGTargetInfo> TSInfo;
53+
5254 // / GlobalISel related APIs.
5355 std::unique_ptr<AMDGPUCallLowering> CallLoweringInfo;
5456 std::unique_ptr<InlineAsmLowering> InlineAsmLoweringInfo;
@@ -257,7 +259,6 @@ class GCNSubtarget final : public AMDGPUGenSubtargetInfo,
257259 // Dummy feature to use for assembler in tablegen.
258260 bool FeatureDisable = false ;
259261
260- SelectionDAGTargetInfo TSInfo;
261262private:
262263 SIInstrInfo InstrInfo;
263264 SITargetLowering TLInfo;
@@ -291,6 +292,8 @@ class GCNSubtarget final : public AMDGPUGenSubtargetInfo,
291292 return &InstrInfo.getRegisterInfo ();
292293 }
293294
295+ const SelectionDAGTargetInfo *getSelectionDAGInfo () const override ;
296+
294297 const CallLowering *getCallLowering () const override {
295298 return CallLoweringInfo.get ();
296299 }
@@ -315,11 +318,6 @@ class GCNSubtarget final : public AMDGPUGenSubtargetInfo,
315318 return TargetID;
316319 }
317320
318- // Nothing implemented, just prevent crashes on use.
319- const SelectionDAGTargetInfo *getSelectionDAGInfo () const override {
320- return &TSInfo;
321- }
322-
323321 const InstrItineraryData *getInstrItineraryData () const override {
324322 return &InstrItins;
325323 }
0 commit comments