13#ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZSUBTARGET_H
14#define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZSUBTARGET_H
26#define GET_SUBTARGETINFO_HEADER
27#include "SystemZGenSubtargetInfo.inc"
34 virtual void anchor();
37#define GET_SUBTARGETINFO_MACRO(ATTRIBUTE, DEFAULT, GETTER) \
38 bool ATTRIBUTE = DEFAULT;
39#include "SystemZGenSubtargetInfo.inc"
43 std::unique_ptr<SystemZCallingConventionRegisters> SpecialRegisters;
47 std::unique_ptr<const SystemZFrameLowering> FrameLowering;
56 const std::string &TuneCPU,
const std::string &FS,
60 assert(SpecialRegisters &&
"Unsupported SystemZ calling convention");
61 return SpecialRegisters.get();
69 return FrameLowering.get();
93 bool useAA()
const override {
return true; }
105#define GET_SUBTARGETINFO_MACRO(ATTRIBUTE, DEFAULT, GETTER) \
106 bool GETTER() const { return ATTRIBUTE; }
107#include "SystemZGenSubtargetInfo.inc"
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process...
StringRef - Represent a constant reference to a string, i.e.
A SystemZ-specific class detailing special use registers particular for calling conventions.
const SystemZRegisterInfo & getRegisterInfo() const
const SystemZInstrInfo * getInstrInfo() const override
bool isPC32DBLSymbol(const GlobalValue *GV, CodeModel::Model CM) const
bool isTargetGOFF() const
SR & getSpecialRegisters() const
const TargetFrameLowering * getFrameLowering() const override
const SystemZTargetLowering * getTargetLowering() const override
bool isTargetXPLINK64() const
bool enableMachineScheduler() const override
SystemZCallingConventionRegisters * getSpecialRegisters() const
bool enableSubRegLiveness() const override
bool isAddressedViaADA(const GlobalValue *GV) const
bool enableEarlyIfConversion() const override
const SystemZRegisterInfo * getRegisterInfo() const override
const SelectionDAGTargetInfo * getSelectionDAGInfo() const override
const TFL * getFrameLowering() const
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
bool useAA() const override
Information about stack frame layout on the target.
Primary interface to the complete machine description for the target machine.
Triple - Helper class for working with autoconf configuration names.
bool isOSBinFormatGOFF() const
Tests whether the OS uses the GOFF binary format.
bool isOSBinFormatELF() const
Tests whether the OS uses the ELF binary format.
This is an optimization pass for GlobalISel generic memory operations.