diff options
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCSubtarget.cpp')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCSubtarget.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp index 57b650575a89..75a0272af7c3 100644 --- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp +++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp @@ -16,6 +16,7 @@ #include "GISel/PPCRegisterBankInfo.h" #include "PPC.h" #include "PPCRegisterInfo.h" +#include "PPCSelectionDAGInfo.h" #include "PPCTargetMachine.h" #include "llvm/CodeGen/GlobalISel/InstructionSelect.h" #include "llvm/CodeGen/GlobalISel/InstructionSelector.h" @@ -59,6 +60,8 @@ PPCSubtarget::PPCSubtarget(const Triple &TT, const std::string &CPU, TargetTriple.getArch() == Triple::ppc64le), TM(TM), FrameLowering(initializeSubtargetDependencies(CPU, TuneCPU, FS)), InstrInfo(*this), TLInfo(TM, *this) { + TSInfo = std::make_unique<PPCSelectionDAGInfo>(); + CallLoweringInfo.reset(new PPCCallLowering(*getTargetLowering())); Legalizer.reset(new PPCLegalizerInfo(*this)); auto *RBI = new PPCRegisterBankInfo(*getRegisterInfo()); @@ -67,6 +70,12 @@ PPCSubtarget::PPCSubtarget(const Triple &TT, const std::string &CPU, InstSelector.reset(createPPCInstructionSelector(TM, *this, *RBI)); } +PPCSubtarget::~PPCSubtarget() = default; + +const SelectionDAGTargetInfo *PPCSubtarget::getSelectionDAGInfo() const { + return TSInfo.get(); +} + void PPCSubtarget::initializeEnvironment() { StackAlignment = Align(16); CPUDirective = PPC::DIR_NONE; |
